parsekit_compile_string()
(PECL parsekit >= 0.2.0)
Compile a string of PHP code and return the resulting op array
说明
parsekit_compile_string(string $phpcode[,array &$errors[,int $options= PARSEKIT_QUIET]]): array
Warning此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的PHP 发布版本中未通知就被修改。使用本函数风险自担。
参数
- $phpcode
A string containing phpcode. Similar to the argument to eval().
- $errors
A 2D hash of errors(including fatal errors)encountered during compilation. Returned by reference.
- $options
One of either
PARSEKIT_QUIET
orPARSEKIT_SIMPLE
. To produce varying degrees of verbosity in the returned output.
返回值
Returns a complex multi-layer array structure as detailed below.
范例
Example #1 parsekit_compile_string() example
<?php $ops = parsekit_compile_string(' echo "Foo\n"; ', $errors, PARSEKIT_QUIET); var_dump($ops); ?>
以上例程会输出:
array(20) { ["type"]=> int(4) ["type_name"]=> string(14) "ZEND_EVAL_CODE" ["fn_flags"]=> int(0) ["num_args"]=> int(0) ["required_num_args"]=> int(0) ["pass_rest_by_reference"]=> bool(false) ["uses_this"]=> bool(false) ["line_start"]=> int(0) ["line_end"]=> int(0) ["return_reference"]=> bool(false) ["refcount"]=> int(1) ["last"]=> int(3) ["size"]=> int(3) ["T"]=> int(0) ["last_brk_cont"]=> int(0) ["current_brk_cont"]=> int(-1) ["backpatch_count"]=> int(0) ["done_pass_two"]=> bool(true) ["filename"]=> string(17) "Parsekit Compiler" ["opcodes"]=> array(3) { [8594800]=> array(5) { ["opcode"]=> int(40) ["opcode_name"]=> string(9) "ZEND_ECHO" ["flags"]=> int(768) ["op1"]=> array(3) { ["type"]=> int(1) ["type_name"]=> string(8) "IS_CONST" ["constant"]=> &string(4) "Foo " } ["lineno"]=> int(2) } ["859484C"]=> array(6) { ["opcode"]=> int(62) ["opcode_name"]=> string(11) "ZEND_RETURN" ["flags"]=> int(16777984) ["op1"]=> array(3) { ["type"]=> int(1) ["type_name"]=> string(8) "IS_CONST" ["constant"]=> &NULL } ["extended_value"]=> int(0) ["lineno"]=> int(3) } [8594898]=> array(4) { ["opcode"]=> int(149) ["opcode_name"]=> string(21) "ZEND_HANDLE_EXCEPTION" ["flags"]=> int(0) ["lineno"]=> int(3) } } }
参见
parsekit_compile_file()
Compile a PHP file and return the resulting op array