This repository has been archived on 2025-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
drupalcampbristol/vendor/doctrine/reflection/docs/en/reference/index.rst

86 lines
2.1 KiB
ReStructuredText
Raw Normal View History

2018-11-23 12:29:20 +00:00
Introduction
============
The Doctrine Reflection project is a simple library used by the various Doctrine projects which adds some additional
functionality on top of the reflection functionality that comes with PHP. It allows you to get the reflection information
about classes, methods and properties statically.
Installation
============
The library can easily be installed with composer.
.. code-block:: sh
$ composer require doctrine/reflection
Setup
=====
.. code-block:: php
use Doctrine\Common\Reflection\Psr0FindFile;
use Doctrine\Common\Reflection\StaticReflectionParser;
use App\Model\User;
$finder = new Psr0FindFile(['App' => [
'/path/to/project/src/App'
]]);
$staticReflectionParser = new StaticReflectionParser(User::class, $finder);
Usage
=====
.. code-block:: php
echo $staticReflectionParser->getClassName();
echo $staticReflectionParser->getNamespaceName();
StaticReflectionClass
=====================
.. code-block:: php
$staticReflectionClass = $staticReflectionParser->getReflectionClass();
echo $staticReflectionClass->getName();
echo $staticReflectionClass->getDocComment();
echo $staticReflectionClass->getNamespaceName();
print_r($staticReflectionClass->getUseStatements());
StaticReflectionMethod
======================
.. code-block:: php
$staticReflectionMethod = $staticReflectionParser->getReflectionMethod('getSomething');
echo $staticReflectionMethod->getName();
echo $staticReflectionMethod->getDeclaringClass();
echo $staticReflectionMethod->getNamespaceName();
echo $staticReflectionMethod->getDocComment();
print_r($staticReflectionMethod->getUseStatements());
StaticReflectionProperty
========================
.. code-block:: php
$staticReflectionProperty = $staticReflectionParser->getReflectionProperty('something');
echo $staticReflectionProperty->getName();
echo $staticReflectionProperty->getDeclaringClass();
echo $staticReflectionProperty->getDocComment();
print_r($staticReflectionProperty->getUseStatements());