Об этом проекте
TypeResolver и FqsenResolver — это PHP-библиотека от phpDocumentor, реализующая спецификацию PSR-5 для типов в DocBlock. Она предоставляет два резолвера: один преобразует типовые выражения в value-объекты, а другой разрешает частичные имена структурных элементов в полностью определённые имена структурных элементов (FQSEN).
Что обрабатывает TypeResolver:
- Примитивы PHP и псевдопримитивы, такие как string или void (`@var string`, `@return void`)
- Составные типы, например массивы некоторого типа (`@var string[]`)
- Сложные типы, например объединения (`@var string|integer`)
- Выражения массивов (`@var (string|TypeResolver)[]`)
- Объекты и интерфейсы, включая nullable-типы, появившиеся в PHP 7.1, которые оборачиваются в объект Nullable
Что обрабатывает FqsenResolver:
- Выражения констант, функций, классов, интерфейсов и трейтов
- Константы классов, свойства и методы (например, `\MyNamespace\MyClass::myMethod()`)
Ключевая возможность — разворачивание частичных имён классов и элементов в полностью определённые имена. Для этого резолверы принимают объект Context, который несёт текущее пространство имён и любые псевдонимы/импорты пространств имён. Контексты можно создавать вручную или через ContextFactory из рефлектора либо из пространства имён вместе с исходным кодом файла.
Установка выполняется через Composer: `composer require phpdocumentor/type-resolver`. README содержит запускаемые примеры и указывает на папку examples. Проект распространяется под лицензией MIT и использует бейджи QA, Coveralls и Scrutinizer для статуса сборки, покрытия и качества кода.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.