PHPTS:一键免费搭建 Nginx + PHP + MySQL 运行环境

INIT_METHOD_CALL

PHP code

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

$obj = new A();
$obj->incrementNum();

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line#op fetchextreturn operands
60 NOP      
131 ZEND_FETCH_CLASS   :1 'A'
 2 NEW   $2 :1
 3 DO_FCALL_BY_NAME  0   
 4 ASSIGN     !0,$2
145 ZEND_INIT_METHOD_CALL     !0,'incrementNum'
 6 DO_FCALL_BY_NAME  0   
167 RETURN     1

Function name: incrementNum

Compiled variables: !0=$num

line#op fetchextreturn operands
90 POST_INC   ~0 !0
 1 FREE     ~0
102 RETURN     null