Sobre o projeto
TypeResolver e FqsenResolver é uma biblioteca PHP do phpDocumentor que implementa a especificação PSR-5 para tipos em DocBlocks. Ela fornece dois resolvedores: um que transforma expressões de tipo em objetos de valor, e outro que resolve nomes parciais de elementos estruturais em nomes totalmente qualificados de elementos estruturais (FQSEN).
O que o TypeResolver trata:
- Primitivos PHP e pseudo-primitivos como string ou void (`@var string`, `@return void`)
- Tipos compostos como arrays de um tipo (`@var string[]`)
- Tipos compostos como uniões (`@var string|integer`)
- Expressões de array (`@var (string|TypeResolver)[]`)
- Objetos e interfaces, incluindo tipos anuláveis introduzidos no PHP 7.1, que são envolvidos em um objeto Nullable
O que o FqsenResolver trata:
- Expressões de constante, função, classe, interface e trait
- Constantes de classe, propriedades e métodos (por exemplo, `\MyNamespace\MyClass::myMethod()`)
Uma capacidade fundamental é expandir nomes parciais de classes e elementos em nomes totalmente qualificados. Para isso, os resolvedores aceitam um objeto Context que carrega o namespace atual e quaisquer aliases/imports de namespace. Os Contexts podem ser criados manualmente, ou via ContextFactory a partir de um reflector ou de um namespace mais o código-fonte do arquivo.
A instalação é via Composer: `composer require phpdocumentor/type-resolver`. O README inclui exemplos executáveis e aponta para uma pasta de exemplos. O projeto é licenciado sob MIT e usa badges de QA, Coveralls e Scrutinizer para status de build, cobertura e qualidade de código.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.