Vendor lock
This commit is contained in:
58
vendor/php-di/phpdoc-reader/README.md
vendored
Normal file
58
vendor/php-di/phpdoc-reader/README.md
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
# PhpDocReader
|
||||
|
||||
[](https://travis-ci.org/mnapoli/PhpDocReader)
|
||||

|
||||
|
||||
This project is used by:
|
||||
|
||||
- [PHP-DI](http://php-di.org/)
|
||||
- [phockito-unit-php-di](https://github.com/balihoo/phockito-unit-php-di)
|
||||
|
||||
Fork the README to add your project here.
|
||||
|
||||
## Features
|
||||
|
||||
PhpDocReader parses `@var` and `@param` values in PHP docblocks:
|
||||
|
||||
```php
|
||||
|
||||
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
|
||||
|
||||
```php
|
||||
$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);
|
||||
```
|
Reference in New Issue
Block a user