PHP - Manual: RAISE_ABSTRACT_ERROR
2024-12-22
<?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
?>
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 |
官方地址:https://www.php.net/manual/en/internals2.opcodes.raise-abstract-error.php