Caution: The documentation you are viewing is
for an older version of Zend Framework.
You can find the documentation of the current version at:
https://docs.zendframework.com/
Zend_Reflection Reference - Zend_Reflection
The various classes in Zend_Reflection mimic the API of PHP's ยป Reflection API - with one important difference. PHP's Reflection API does not provide introspection into docblock annotation tags, nor into parameter variable types or return types.
Zend_Reflection analyzes method docblock annotations to
determine parameter variable types and the return type. Specifically,
the @param
and @return
annotations are used.
However, you can also check for any other annotation tags, as well as
the standard "short" and "long" descriptions.
Each reflection object in Zend_Reflection overrides the getDocblock() method to return an instance of Zend_Reflection_Docblock. This class provides introspection into the docblocks and annotation tags.
Zend_Reflection_File is a new reflection class that allows introspection of PHP files. With it, you can retrieve the classes, functions, and global PHP code contained in the file.
Finally, the various methods that return other reflection objects allow a second parameter, the name of the reflection class to use for the returned reflection object.
Zend_Reflection_Docblock is the heart of Zend_Reflection's value-add over PHP's Reflection API. It provides the following methods:
getContents(): returns the full contents of the docblock.
getStartLine(): returns the starting position of the docblock within the defining file.
getEndLine(): get last line of docblock within the defining file.
getShortDescription(): get the short, one-line description (usually the first line of the docblock).
getLongDescription(): get the long description from the docblock.
hasTag($name): determine if the docblock has the given annotation tag.
getTag($name): Retrieve the given annotation tag reflection object, or a boolean FALSE if it's not present.
getTags($filter): Retrieve all tags, or all tags matching the given $filter string. The tags returned will be an array of Zend_Reflection_Docblock_Tag objects.
Zend_Reflection_Docblock_Tag provides reflection for individual annotation tags. Most tags consist of only a name and a description. In the case of some special tags, the class provides a factory method for retrieving an instance of the appropriate class.
The following methods are defined for Zend_Reflection_Docblock_Tag:
factory($tagDocblockLine): instantiate the appropriate tag reflection class and return it.
getName(): return the annotation tag name.
getDescription(): return the annotation description.
Zend_Reflection_Docblock_Tag_Param is a specialized
version of Zend_Reflection_Docblock_Tag. The
@param
annotation tag description consists of the
parameter type, variable name, and variable description. It adds the
following methods to Zend_Reflection_Docblock_Tag:
getType(): return the parameter variable type.
getVariableName(): return the parameter variable name.
Like Zend_Reflection_Docblock_Tag_Param,
Zend_Reflection_Docblock_Tag_Return is a specialized
version of Zend_Reflection_Docblock_Tag. The
@return
annotation tag description consists of the
return type and variable description. It adds the following method
to Zend_Reflection_Docblock_Tag:
getType(): return the return type.
Zend_Reflection_File provides introspection into PHP files. With it, you can introspect the classes, functions, and bare PHP code defined in a file. It defines the following methods:
getFileName(): retrieve the filename of the file being reflected.
getStartLine(): retrieve the starting line of the file (always "1").
getEndLine() retrieve the last line / number of lines in the file.
getDocComment($reflectionClass =
'Zend_Reflection_Docblock')
: retrive the file-level
docblock reflection object.
getClasses($reflectionClass =
'Zend_Reflection_Class')
: retrieve an array of
reflection objects, one for each class defined in the file.
getFunctions($reflectionClass =
'Zend_Reflection_Function')
: retrieve an array of
reflection objects, one for each function defined in the file.
getClass($name = null, $reflectionClass =
'Zend_Reflection_Class')
: retrieve the reflection
object for a single class.
getContents(): retrieve the full contents of the file.
Zend_Reflection_Class extends
ReflectionClass
, and follows its API. It adds one
additional method, getDeclaringFile(), which may be
used to retrieve the Zend_Reflection_File reflection
object for the defining file.
Additionally, the following methods add an additional argument for specifying the reflection class to use when fetching a reflection object:
getDeclaringFile($reflectionClass = 'Zend_Reflection_File')
getDocblock($reflectionClass = 'Zend_Reflection_Docblock')
getInterfaces($reflectionClass = 'Zend_Reflection_Class')
getMethod($reflectionClass = 'Zend_Reflection_Method')
getMethods($filter = -1, $reflectionClass = 'Zend_Reflection_Method')
getParentClass($reflectionClass = 'Zend_Reflection_Class')
getProperty($name, $reflectionClass = 'Zend_Reflection_Property')
getProperties($filter = -1, $reflectionClass =
'Zend_Reflection_Property')
Zend_Reflection_Extension extends
ReflectionExtension
, and follows its API. It overrides
the following methods to add an additional argument for specifying
the reflection class to use when fetching a reflection object:
getFunctions($reflectionClass =
'Zend_Reflection_Function')
: retrieve an array of
reflection objects representing the functions defined by the extension.
getClasses($reflectionClass =
'Zend_Reflection_Class')
: retrieve an array of
reflection objects representing the classes defined by the extension.
Zend_Reflection_Function adds a method for retrieving the function return type, as well as overrides several methods to allow specifying the reflection class to use for returned reflection objects.
getDocblock($reflectionClass =
'Zend_Reflection_Docblock')
: retrieve the function
docblock reflection object.
getParameters($reflectionClass =
'Zend_Reflection_Parameter')
: retrieve an array of
all function parameter reflection objects.
getReturn(): retrieve the return type reflection object.
Zend_Reflection_Method mirrors Zend_Reflection_Function, and only overrides one additional method:
getParentClass($reflectionClass =
'Zend_Reflection_Class')
: retrieve the parent class
reflection object.
Zend_Reflection_Parameter adds a method for retrieving the parameter type, as well as overrides methods to allow specifying the reflection class to use on returned reflection objects.
getDeclaringClass($reflectionClass =
'Zend_Reflection_Class')
: get the declaring class of
the parameter as a reflection object (if available).
getClass($reflectionClass =
'Zend_Reflection_Class')
: get the class of
the parameter as a reflection object (if available).
getDeclaringFunction($reflectionClass =
'Zend_Reflection_Function')
: get the function of
the parameter as a reflection object (if available).
getType(): get the parameter type.
Zend_Reflection_Property overrides a single method in order to allow specifying the returned reflection object class:
getDeclaringClass($reflectionClass =
'Zend_Reflection_Class')
: retrieve the declaring
class of the property as a reflection object.