rkljw 600fc1a941 第一次提交 10 mēneši atpakaļ
..
.github 600fc1a941 第一次提交 10 mēneši atpakaļ
src 600fc1a941 第一次提交 10 mēneši atpakaļ
.gitattributes 600fc1a941 第一次提交 10 mēneši atpakaļ
.gitignore 600fc1a941 第一次提交 10 mēneši atpakaļ
.phpcs.xml.dist 600fc1a941 第一次提交 10 mēneši atpakaļ
LICENSE 600fc1a941 第一次提交 10 mēneši atpakaļ
README.md 600fc1a941 第一次提交 10 mēneši atpakaļ
composer.json 600fc1a941 第一次提交 10 mēneši atpakaļ

README.md

PhpDocReader

This project is used by:

Fork the README to add your project here.

Features

PhpDocReader parses @var and @param values in PHP docblocks:


use My\Cache\Backend;

class Cache
{
    /**
     * @var Backend
     */
    protected $backend;

    /**
     * @param Backend $backend
     */
    public function __construct($backend)
    {
    }
}

It supports namespaced class names with the same resolution rules as PHP:

  • fully qualified name (starting with \)
  • imported class name (eg. use My\Cache\Backend;)
  • relative class name (from the current namespace, like SubNamespace\MyClass)
  • aliased class name (eg. use My\Cache\Backend as FooBar;)

Primitive types (@var string) are ignored (returns null), only valid class names are returned.

Usage

$reader = new PhpDocReader();

// Read a property type (@var phpdoc)
$property = new ReflectionProperty($className, $propertyName);
$propertyClass = $reader->getPropertyClass($property);

// Read a parameter type (@param phpdoc)
$parameter = new ReflectionParameter(array($className, $methodName), $parameterName);
$parameterClass = $reader->getParameterClass($parameter);