略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: INIT_METHOD_CALL

2024-04-19

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
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.

官方地址:https://www.php.net/manual/en/internals2.opcodes.init-method-call.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3