DECLARE_INHERITED_CLASS
PHP code
<?php
/*
*
* opcode number: 140
*/
if($b){
class Foo {
public static $my_static = 'foo';
public function staticValue() {
return self::$my_static;
}
}
class Bar extends Foo {
public function fooStatic() {
echo parent::$my_static;
}
}
}
?>
PHP opcodes
Function name: (null)
Compiled variables: !0=$b
line | # | op | fetch | ext | return | operands |
---|---|---|---|---|---|---|
6 | 0 | JMPZ | !0,->5 | |||
7 | 1 | ZEND_DECLARE_CLASS | $0 | '%00foo%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be503b','foo' | ||
14 | 2 | ZEND_FETCH_CLASS | :1 | 'Foo' | ||
3 | ZEND_DECLARE_INHERITED_CLASS | $2 | '%00bar%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be50bc','bar' | |||
19 | 4 | JMP | ->5 | |||
20 | 5 | RETURN | 1 |
Function name: staticValue
Compiled variables: !0=$my_static
line | # | op | fetch | ext | return | operands |
---|---|---|---|---|---|---|
10 | 0 | ZEND_FETCH_CLASS | ||||
1 | FETCH_R | staticmember | $1 | 'my_static' | ||
2 | RETURN | $1 | ||||
11 | 3 | RETURN | null |
Function name: fooStatic
Compiled variables: !0=$my_static
line | # | op | fetch | ext | return | operands |
---|---|---|---|---|---|---|
16 | 0 | ZEND_FETCH_CLASS | :0 | |||
1 | FETCH_R | staticmember | $1 | 'my_static' | ||
2 | ECHO | $1 | ||||
17 | 3 | RETURN | null |
- PHP Руководство
- Функции по категориям
- Индекс функций
- Ядро PHP: Руководство хакера
- Zend Engine 2 Opcodes
- ADD
- ADD_ARRAY_ELEMENT
- ADD_CHAR
- ADD_INTERFACE
- ADD_STRING
- ADD_VAR
- ASSIGN
- ASSIGN_ADD
- ASSIGN_BW_AND
- ASSIGN_BW_OR
- ASSIGN_BW_XOR
- ASSIGN_CONCAT
- ASSIGN_DIM
- ASSIGN_DIV
- ASSIGN_MOD
- ASSIGN_MUL
- ASSIGN_OBJ
- ASSIGN_REF
- ASSIGN_SL
- ASSIGN_SR
- ASSIGN_SUB
- BEGIN_SILENCE
- BOOL
- BOOL_NOT
- BOOL_XOR
- BRK
- BW_AND
- BW_NOT
- BW_OR
- BW_XOR
- CASE
- CAST
- CATCH
- CLONE
- CONCAT
- CONT
- DECLARE_CLASS
- DECLARE_CONST
- DECLARE_FUNCTION
- DECLARE_INHERITED_CLASS
- DECLARE_INHERITED_CLASS_DELAYED
- DIV
- DO_FCALL
- DO_FCALL_BY_NAME
- ECHO
- END_SILENCE
- EXIT
- EXT_FCALL_BEGIN
- EXT_FCALL_END
- EXT_NOP
- EXT_STMT
- FE_FETCH
- FE_RESET
- FETCH_CLASS
- FETCH_CONSTANT
- FETCH_DIM_FUNC_ARG
- FETCH_DIM_IS
- FETCH_DIM_R
- FETCH_DIM_RW
- FETCH_DIM_TMP_VAR
- FETCH_DIM_UNSET
- FETCH_DIM_W
- FETCH_FUNC_ARG
- FETCH_IS
- FETCH_OBJ_FUNC_ARG
- FETCH_OBJ_IS
- FETCH_OBJ_R
- FETCH_OBJ_RW
- FETCH_OBJ_UNSET
- FETCH_OBJ_W
- FETCH_R
- FETCH_RW
- FETCH_UNSET
- FETCH_W
- FREE
- GOTO
- HANDLE_EXCEPTION
- INCLUDE_OR_EVAL
- INIT_ARRAY
- INIT_FCALL_BY_NAME
- INIT_METHOD_CALL
- INIT_NS_FCALL_BY_NAME
- INIT_STATIC_METHOD_CALL
- INIT_STRING
- INSTANCEOF
- IS_EQUAL
- IS_IDENTICAL
- IS_NOT_EQUAL
- IS_NOT_IDENTICAL
- IS_SMALLER
- IS_SMALLER_OR_EQUAL
- ISSET_ISEMPTY_DIM_OBJ
- ISSET_ISEMPTY_PROP_OBJ
- ISSET_ISEMPTY_VAR
- JMP
- JMPNZ
- JMPNZ_EX
- JMPZ
- JMPZ_EX
- JMPZNZ
- MOD
- MUL
- NEW
- NOP
- POST_DEC
- POST_DEC_OBJ
- POST_INC
- POST_INC_OBJ
- PRE_DEC
- PRE_DEC_OBJ
- PRE_INC
- PRE_INC_OBJ
- QM_ASSIGN
- RAISE_ABSTRACT_ERROR
- RECV
- RECV_INIT
- RETURN
- RETURN_BY_REF
- SEND_REF
- SEND_VAL
- SEND_VAR
- SEND_VAR_NO_REF
- SL
- SR
- SUB
- SWITCH_FREE
- THROW
- TICKS
- UNSET_DIM
- UNSET_OBJ
- UNSET_VAR
- USER_OPCODE
- VERIFY_ABSTRACT_CLASS
- ZEND_DECLARE_LAMBDA_FUNCTION
- ZEND_JMP_SET
Коментарии
404 Not Found