IT. Expert System.

PHP

Compile a string of PHP code and return the resulting op array


parsekit_compile_string

(PECL parsekit >= 0.2.0)

parsekit_compile_stringCompile a string of PHP code and return the resulting op array

Description

array parsekit_compile_string ( string $phpcode [, array &$errors [, int $options = PARSEKIT_QUIET ]] )
Warning

This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk.

Parameters

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 or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

Return Values

Returns a complex multi-layer array structure as detailed below.

Examples

Example #1 parsekit_compile_string() example

<?php
  $ops 
parsekit_compile_string('
echo "Foo\n";
'
$errorsPARSEKIT_QUIET);

  
var_dump($ops);
?>

The above example will output:

 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)  } } } 

See Also



Content

Android Reference

Java basics

Java Enterprise Edition (EE)

Java Standard Edition (SE)

SQL

HTML

PHP

CSS

Java Script

MYSQL

JQUERY

VBS

REGEX

C

C++

C#

Design patterns

RFC (standard status)

RFC (proposed standard status)

RFC (draft standard status)

RFC (informational status)

RFC (experimental status)

RFC (best current practice status)

RFC (historic status)

RFC (unknown status)

IT dictionary

License.
All information of this service is derived from the free sources and is provided solely in the form of quotations. This service provides information and interfaces solely for the familiarization (not ownership) and under the "as is" condition.
Copyright 2016 © ELTASK.COM. All rights reserved.
Site is optimized for mobile devices.
Downloads: 4653 / . Delta: 0.00565 с