Internals2/opcodes/raise-abstract-error-Phpdoc专题

RAISE_ABSTRACT_ERROR

PHP code

<?php
/*
 * 
 * opcode number: 142
 */

abstract class fail {
    abstract function show();
}

class pass extends fail {
    function show() {
        echo "Call to function show()\n";
    }
}

$t2 = new pass();
$t2->show();

$t = new fail();
$t->show();

echo "Done\n"; // shouldn't be displayed
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$t2, !1=$t

line # op fetch ext return operands
7 0 NOP        
11 1 NOP        
  2 NOP        
17 3 ZEND_FETCH_CLASS     :3 'pass'
  4 NEW     $4 :3
  5 DO_FCALL_BY_NAME   0    
  6 ASSIGN       !0,$4
18 7 ZEND_INIT_METHOD_CALL       !0,'show'
  8 DO_FCALL_BY_NAME   0    
20 9 ZEND_FETCH_CLASS     :9 'fail'
  10 NEW     $10 :9
  11 DO_FCALL_BY_NAME   0    
  12 ASSIGN       !1,$10
21 13 ZEND_INIT_METHOD_CALL       !1,'show'
  14 DO_FCALL_BY_NAME   0    
23 15 ECHO       'Done%0A'
24 16 RETURN       1

Function name: show

Compiled variables: none

line # op fetch ext return operands
8 0 ZEND_RAISE_ABSTRACT_ERROR        
  1 RETURN       null

Function name: show

Compiled variables: none

line # op fetch ext return operands
13 0 ECHO       'Call+to+function+show%28%29%0A'
14 1 RETURN       null

本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除