À propos du projet
TypeResolver et FqsenResolver est une bibliothèque PHP de phpDocumentor qui implémente la spécification PSR-5 pour les types dans les DocBlocks. Elle fournit deux résolveurs : l'un qui transforme les expressions de type en objets valeur, et l'autre qui résout les noms partiels d'éléments structurels en noms d'éléments structurels pleinement qualifiés (FQSEN).
Ce que le TypeResolver gère :
- Les primitives PHP et pseudo-primitives telles que string ou void (`@var string`, `@return void`)
- Les types composites tels que les tableaux d'un type (`@var string[]`)
- Les types composés tels que les unions (`@var string|integer`)
- Les expressions de tableau (`@var (string|TypeResolver)[]`)
- Les objets et interfaces, y compris les types nullables introduits en PHP 7.1, qui sont encapsulés dans un objet Nullable
Ce que le FqsenResolver gère :
- Les expressions de constante, fonction, classe, interface et trait
- Les constantes de classe, propriétés et méthodes (par exemple `\MyNamespace\MyClass::myMethod()`)
Une capacité clé consiste à étendre les noms partiels de classes et d'éléments en noms pleinement qualifiés. Pour ce faire, les résolveurs acceptent un objet Context qui porte l'espace de noms courant et les alias/imports d'espace de noms. Les Context peuvent être créés manuellement, ou via ContextFactory à partir d'un reflector ou à partir d'un espace de noms plus le code source d'un fichier.
L'installation se fait via Composer : `composer require phpdocumentor/type-resolver`. Le README inclut des exemples exécutables et renvoie vers un dossier examples. Le projet est sous licence MIT et utilise les badges QA, Coveralls et Scrutinizer pour l'état de build, la couverture et la qualité du code.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.