Sep
17
2010
parsekit_compile_string()

parsekit_compile_string

(PECL)

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

Описание

array parsekit_compile_string ( string phpcode [, array &errors [, int options]] )

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях 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 or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

Возвращаемые значения

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

Примеры


<?php
  $ops 
parsekit_compile_string('
echo "Foo\n";
'
$errorsPARSEKIT_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()

 
 
 
Комментарии
Добавить новый Поиск
Оставить комментарий
Имя:
Email:
 
Веб-сайт:
Тема:
UBB-Код:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Пожалуйста, введите проверочный код, который Вы видите на картинке.
Powered by !JoomlaComment 3.26

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Кто онлайн

Сейчас 39 гостей онлайн