Php/docs/internals2.opcodes.raise-abstract-error

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

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