parsekit_compile_file
parsekit_func_arginfo
Fonctions Parsekit
PHP Manual

# parsekit_compile_string

(PECL parsekit >= 0.2.0)

parsekit_compile_string — Compile une chaîne de code PHP et retourne le tableau d'opcode résultant

### Description

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

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

### Liste de paramètres

`phpcode`

  Une chaîne contenant du code PHP. Similaire à l'argument de eval().

`&errors`

  Un hash 2D des erreurs (incluant les erreurs fatales) rencontrées pendant la compilation. Retourné par référence.

`options`

  Soit `PARSEKIT_QUIET`, soit `PARSEKIT_SIMPLE`. Pour produire plusieurs degrés de retour dans la chaîne retournée.

### Valeurs de retour

Retourne un tableau complexe multidimensionnel, structuré comme ci-dessous.

### Exemples

Exemple #1 Exemple avec parsekit_compile_string()

`<?php
$ops = parsekit_compile_string('
echo "Foo\n";
', $errors, PARSEKIT_QUIET);
var_dump($ops);
?>`

L'exemple ci-dessus va afficher :

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

### Voir aussi

- parsekit_compile_file() - Compile un fichier de code PHP et retourne le tableau d'opcode résultant

parsekit_compile_file
parsekit_func_arginfo
Fonctions Parsekit
PHP Manual