Php/docs/internals2.opcodes.init-method-call

来自菜鸟教程
跳转至:导航、​搜索

INIT_METHOD_CALL

PHP code

<?php/* * Prepare for a method call.  Followed by DO_FCALL. * opcode number: 112 */class A {  var $num;    function incrementNum(){    $num++;  }}$obj = new A();$obj->incrementNum();?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line # op fetch ext return operands
6 0 NOP        
13 1 ZEND_FETCH_CLASS     :1 'A'
  2 NEW     $2 :1
  3 DO_FCALL_BY_NAME   0    
  4 ASSIGN       !0,$2
14 5 ZEND_INIT_METHOD_CALL       !0,'incrementNum'
  6 DO_FCALL_BY_NAME   0    
16 7 RETURN       1

Function name: incrementNum

Compiled variables: !0=$num

line # op fetch ext return operands
9 0 POST_INC     ~0 !0
  1 FREE       ~0
10 2 RETURN       null