PHP Parser

Logiciel capture d'écran:
PHP Parser
Détails logiciels:
Version: 2.0.1 Mise à jour
Date de transfert: 10 Apr 16
Développeur: Nikita Popov
Licence: Gratuit
Popularité: 17

Rating: 4.0/5 (Total Votes: 1)

Le PHP Parser bibliothèque a été écrit dans le but de l'analyse de code.

Il lit simplement le code et le montre comme un tableau de l'arbre de syntaxe.

En manipulant le tableau, nous pouvons également manipuler le code.

Pour les débutants, la documentation est fournie avec le projet

Ce qui est nouveau dans cette version:.

  • pièces de chaîne de cordes encapsed sont maintenant représentés en utilisant `x5C Scalar & #; nœuds EncapsStringPart`. Auparavant chaînes brutes ont été utilisés. Cela affecte le `enfant parts` de` x5C Scalar & #; Encaps` et `x5C Expr & #; ShellExec`. Le changement a été fait pour permettre l'affectation d'attributs aux parties de cordes encapsed.

Ce qui est nouveau dans la version 2.0.0:

  • pièces de chaîne de cordes encapsed sont maintenant représentés en utilisant ` Scalar & # x5C; nœuds EncapsStringPart`. Auparavant chaînes brutes ont été utilisés. Cela affecte le `enfant parts` de` x5C Scalar & #; Encaps` et `x5C Expr & #; ShellExec`. Le changement a été fait pour permettre l'affectation d'attributs aux parties de cordes encapsed.

Ce qui est nouveau dans la version 1.4.0 / 2.0.0-alpha1:

  • Le `NameResolver` décide maintenant paramètre notes de type lors de la saisie de la / méthode / noeud de fermeture de fonction. Comme les autres visiteurs courent après, il sera en mesure d'utiliser les noms résolus à ce moment déjà.
  • Le chargeur automatique ne définit l'option ini unserialize_callback_func` `sur l'enregistrement -. Ce n'est pas nécessaire et peut provoquer des problèmes lors de l'exécution des tests de PHPUnit avec isolation du processus

Ce qui est nouveau dans la version 1.3.0:

  • Le `NameResolver` résout maintenant le type de paramètre conseils lorsque entrant dans la / méthode / noeud de fermeture de fonction. Comme les autres visiteurs courent après, il sera en mesure d'utiliser les noms résolus à ce moment déjà.
  • Le chargeur automatique ne définit l'option ini unserialize_callback_func` `sur l'enregistrement -. Ce n'est pas nécessaire et peut provoquer des problèmes lors de l'exécution des tests de PHPUnit avec isolation du processus

Ce qui est nouveau dans la version 1.2.2:

  • Le `NameResolver` résout maintenant le type de paramètre conseils lorsque entrant dans la / méthode / noeud de fermeture de fonction. Comme les autres visiteurs courent après, il sera en mesure d'utiliser les noms résolus à ce moment déjà.
  • Le chargeur automatique ne définit l'option ini unserialize_callback_func` `sur l'enregistrement -. Ce n'est pas nécessaire et peut provoquer des problèmes lors de l'exécution des tests de PHPUnit avec isolation du processus

Ce qui est nouveau dans la version 1.1.0:

  • les visiteurs Node peuvent maintenant retourner `NodeTraverser :: DONT_TRAVERSE_CHILDREN `de` enterNode () `afin de sauter tous les enfants du noeud courant, pour tous les visiteurs.
  • Déclarer une propriété abstraite ou finale est maintenant une erreur.
  • constructeurs supplémentaires pour les traits et les espaces de noms.
  • La classe, interface, trait, fonction, méthode et de propriété constructeurs prennent désormais en charge l'ajout de commentaires doc en utilisant le `setDocComment () méthode`.
  • Ajout du support pour les noms entièrement qualifiés et espaces de noms par rapport à des constructeurs. Non plus permettre l'utilisation de réseaux de composants de nom.
  • Ne pas ajouter de la documentation et des tests pour les fichiers d'archive de distribution.

Ce qui est nouveau dans la version 1.0.1:

  • Disallow nouvelles expressions sans un nom de classe. Auparavant nouvelle; a été accidentellement considéré comme un code valide.
  • jeton Support T_ONUMBER utilisé par HHVM.
  • Ajout de la possibilité de passer directement du code pour le script php-parse.php.
  • Empêcher troncature de var_dump () Sortie dans le script php-parse.php si XDebug est utilisé.

Qu'est-ce que les nouvelles dans la version 1.0.0:

  • Retiré dépréciées `template` et` classes TemplateLoader` .
  • unserializer XML fixe fonctionne correctement avec les nouveaux noms de nœuds namespaced.

Ce qui est nouveau dans la version 0.9.4:

  • Il y a maintenant un constructeur pour les interfaces ( `PHPParser_Builder_Interface `).
  • Une interface pour le traversation de noeud a été ajouté: `PHPParser_NodeTraverserInterface`
  • jolie impression fixe de `expressions include` (informations de priorité était manquante).
  • Correction & quot; index undefined & quot; avis lors de la génération des jetons attendus pour une erreur de syntaxe.

Ce qui est nouveau dans la version 0.9.3:

  • Ajout du support pour les expressions arbitraires empty ().
  • Ajout du support constant réseau / string déréférencement.
  • Ajout du support pour les expressions de rendement. Cela ajoute un nouveau type d'expression de rendement, avec des sous-nœuds clés et la valeur.
  • Ajout du support pour finalement. Cela ajoute une nouvelle finallyStmts subnode au noeud TryCatch. S'il n'y a pas finalement la clause il sera nulle.

Ce qui est nouveau dans la version 0.9.2:

  • Ajout de classe - & # X3e; getMethods () fonction, qui renvoie toutes les méthodes contenues dans le stmts tableau du nœud de classe. Cela ne tient pas les méthodes héritées en compte.
  • Ajout IsPublic (), isProtected (), IsPrivate (). isAbstract (), isFinal () et isStatic () accesseurs aux noeuds classmethod, propriété et classe. (Évidemment la propriété et de classe ont seulement les accesseurs qui les concernent.)
  • parsing fixe de nouvelles expressions entre parenthèses, par exemple retour (nouveau Foo);.
  • Ajout mécanisme pour ajouter des attributs aux noeuds dans le lexer.
  • visiteur NameResolver fixe pour résoudre également les noms de classe dans les blocs de capture.

Exigences :

  • PHP 5.4 ou supérieur

Limites :

  • Encore en développement. Pourrait changer radicalement d'une version à l'autre.

Logiciel similaire

Declare
Declare

13 May 15

toast
toast

10 Dec 15

Esprima
Esprima

11 Mar 16

JOQULAR
JOQULAR

10 Feb 16

Commentaires à PHP Parser

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!