Property | Type | Description | |
---|---|---|---|
$annotatedClasses | array | Array of annotation classnames and the names of classes which are annotated with them | |
$annotationReader | Doctrine\Common\Annotations\Reader | ||
$availableClassNames | array | ||
$classLoader | |||
$classReflectionData | array | Array with reflection information indexed by class name | |
$classSchemata | array<\Neos\Flow\Reflection\ClassSchema> | Schemata of all classes which can be persisted | |
$classSchemataRuntimeCache | Neos\Cache\Frontend\VariableFrontend | ||
$classesByMethodAnnotations | array | Array of method annotations and the classes and methods which are annotated with them | |
$classesCurrentlyBeingForgotten | array | An array of class names which are currently being forgotten by forgetClass(). Acts as a safeguard against infinite loops. | |
$context | |||
$doctrinePhpParser | Doctrine\Common\Annotations\PhpParser | Note: Don't refer to this member directly but use getDoctrinePhpParser() to obtain an instance | |
$environment | |||
$initialized | boolean | ||
$loadFromClassSchemaRuntimeCache | boolean | In Production context, with frozen caches, this flag will be TRUE | |
$packageManager | Neos\Flow\Package\PackageManagerInterface | ||
$reflectionDataCompiletimeCache | Neos\Cache\Frontend\VariableFrontend | ||
$reflectionDataRuntimeCache | Neos\Cache\Frontend\VariableFrontend | ||
$settings | array | ||
$statusCache | |||
$systemLogger | Neos\Flow\Log\SystemLoggerInterface | ||
$updatedReflectionData | array | Array with updated reflection information (e.g. in Development context after classes have changed) | |
$useStatementsForClassCache | array | a cache which stores the use statements reflected for a particular class (only relevant for un-expanded "var" and "param" annotations) |
Method | Description | |
---|---|---|
buildReflectionData ( array $availableClassNames ) : void | Builds the reflection data cache during compile time. | |
freezePackageReflection ( string $packageKey ) : void | Stores the current reflection data related to classes of the specified package in the PrecompiledReflectionData directory for the current context. | |
getAllClassNames ( ) : array | Returns the names of all classes known to this reflection service. | |
getAllImplementationClassNamesForInterface ( string $interfaceName ) : array | Searches for and returns all class names of implementations of the given object type (interface name). If no class implementing the interface was found, an empty array is returned. | |
getAllSubClassNamesForClass ( string $className ) : array | Searches for and returns all names of classes inheriting the specified class. | |
getClassAnnotation ( string $className, string $annotationClassName ) : object | Returns the specified class annotation or NULL. | |
getClassAnnotations ( string $className, string $annotationClassName = null ) : array | Returns the specified class annotations or an empty array | |
getClassNameByObject ( object $object ) : string | Returns the class name of the given object. This is a convenience method that returns the expected class names even for proxy classes. | |
getClassNamesByAnnotation ( string $annotationClassName ) : array | Searches for and returns all names of classes which are tagged by the specified annotation. If no classes were found, an empty array is returned. | |
getClassPropertyNames ( string $className ) : array | Returns the names of all properties of the specified class | |
getClassSchema ( mixed $classNameOrObject ) : |
Returns the class schema for the given class | |
getClassesContainingMethodsAnnotatedWith ( string $annotationClassName ) : array | Returns all class names of classes containing at least one method annotated with the given annotation class | |
getDefaultImplementationClassNameForInterface ( string $interfaceName ) : mixed | Searches for and returns the class name of the default implementation of the given interface name. If no class implementing the interface was found or more than one implementation was found in the package defining the interface, FALSE is returned. | |
getMethodAnnotation ( string $className, string $methodName, string $annotationClassName ) : object | Returns the specified method annotation or NULL. | |
getMethodAnnotations ( string $className, string $methodName, string $annotationClassName = null ) : array | Returns the specified method annotations or an empty array | |
getMethodDeclaredReturnType ( string $className, string $methodName ) : string | Returns the declared return type of a method (for PHP < 7.0 this will always return null) | |
getMethodParameters ( string $className, string $methodName ) : array | Returns an array of parameters of the given method. Each entry contains additional information about the parameter position, type hint etc. | |
getMethodTagsValues ( string $className, string $methodName ) : array | Returns all tags and their values the specified method is tagged with | |
getMethodsAnnotatedWith ( string $className, string $annotationClassName ) : array | Returns all names of methods of the given class that are annotated with the given annotation class | |
getPropertyAnnotation ( string $className, string $propertyName, string $annotationClassName ) : object | Returns the specified property annotation or NULL. | |
getPropertyAnnotations ( string $className, string $propertyName, string $annotationClassName = null ) : array | Returns the specified property annotations or an empty array | |
getPropertyNamesByAnnotation ( string $className, string $annotationClassName ) : array | Searches for and returns all names of class properties which are marked by the specified annotation. If no properties were found, an empty array is returned. | |
getPropertyNamesByTag ( string $className, string $tag ) : array | Searches for and returns all names of class properties which are tagged by the specified tag. | |
getPropertyTagValues ( string $className, string $propertyName, string $tag ) : array | Returns the values of the specified class property tag | |
getPropertyTagsValues ( string $className, string $propertyName ) : array | Returns all tags and their values the specified class property is tagged with | |
hasMethod ( string $className, string $methodName ) : boolean | Wrapper for method_exists() which tells if the given method exists. | |
injectClassLoader ( |
||
injectEnvironment ( |
||
injectPackageManager ( Neos\Flow\Package\PackageManagerInterface $packageManager ) : void | ||
injectSettings ( array $settings ) : void | ||
injectSystemLogger ( Neos\Flow\Log\SystemLoggerInterface $systemLogger ) : void | ||
isClassAbstract ( string $className ) : boolean | Tells if the specified class is abstract or not | |
isClassAnnotatedWith ( string $className, string $annotationClassName ) : boolean | Tells if the specified class has the given annotation | |
isClassFinal ( string $className ) : boolean | Tells if the specified class is final or not | |
isClassImplementationOf ( string $className, string $interfaceName ) : boolean | Tells if the specified class implements the given interface | |
isClassReflected ( string $className ) : boolean | Tells if the specified class is known to this reflection service and reflection information is available. | |
isClassUnconfigurable ( string $className ) : boolean | Tells if the class is unconfigurable or not | |
isMethodAnnotatedWith ( string $className, string $methodName, string $annotationClassName ) : boolean | Tells if the specified method has the given annotation | |
isMethodFinal ( string $className, string $methodName ) : boolean | Tells if the specified method is final or not | |
isMethodPrivate ( string $className, string $methodName ) : boolean | Tells if the specified method is private | |
isMethodProtected ( string $className, string $methodName ) : boolean | Tells if the specified method is protected | |
isMethodPublic ( string $className, string $methodName ) : boolean | Tells if the specified method is public | |
isMethodStatic ( string $className, string $methodName ) : boolean | Tells if the specified method is declared as static or not | |
isMethodTaggedWith ( string $className, string $methodName, string $tag ) : boolean | Tells if the specified method is tagged with the given tag | |
isPropertyAnnotatedWith ( string $className, string $propertyName, string $annotationClassName ) : boolean | Tells if the specified property has the given annotation | |
isPropertyPrivate ( string $className, string $propertyName ) : boolean | Tells if the specified property is private | |
isPropertyTaggedWith ( string $className, string $propertyName, string $tag ) : boolean | Tells if the specified class property is tagged with the given tag | |
reflectClassProperty ( string $className, |
||
saveToCache ( ) : void | Exports the internal reflection data into the ReflectionData cache | |
setClassSchemataRuntimeCache ( Neos\Cache\Frontend\VariableFrontend $cache ) : void | Sets the dedicated class schema cache for runtime purposes | |
setReflectionDataCompiletimeCache ( Neos\Cache\Frontend\VariableFrontend $cache ) : void | Sets the compile-time data cache | |
setReflectionDataRuntimeCache ( Neos\Cache\Frontend\VariableFrontend $cache ) : void | Sets the runtime data cache | |
setStatusCache ( |
Sets the status cache | |
unfreezePackageReflection ( string $packageKey ) : void | Removes the precompiled reflection data of a frozen package |
Method | Description | |
---|---|---|
addImplementedInterface ( string $className, |
||
addParentClass ( string $className, |
||
addPropertiesToClassSchema ( |
Adds properties of the class at hand to the class schema. | |
buildClassSchema ( string $className ) : |
Builds a class schema for the given class name. | |
buildClassSchemata ( array $classNames ) : void | Builds class schemata from classes annotated as entities or value objects | |
checkValueObjectRequirements ( string $className ) : void | Checks if the given class meets the requirements for a value object, i.e. | |
cleanClassName ( string $className ) : string | Clean a given class name from possibly prefixed backslash | |
completeRepositoryAssignments ( ) : void | Complete repository-to-entity assignments. | |
convertParameterDataToArray ( array $parametersInformation ) : array | Converts the internal, optimized data structure of parameter information into a human-friendly array with speaking indexes. | |
convertParameterReflectionToArray ( |
Converts the given parameter reflection into an information array | |
ensureAggregateRootInheritanceChainConsistency ( ) : void | Checks whether all aggregate roots having superclasses have a repository assigned up to the tip of their hierarchy. | |
evaluateClassPropertyAnnotationsForSchema ( |
||
expandType ( |
Expand shortened class names in "var" and "param" annotations, taking use statements into account. | |
filterArrayByClassesInNamespace ( array $array, string $packageNamespace ) : array | Filter an array of entries were keys are class names by being in the given package namespace. | |
forgetChangedClasses ( ) : void | Checks which classes lack a cache entry and removes their reflection data accordingly. | |
forgetClass ( string $className ) : void | Forgets all reflection data related to the specified class | |
getDoctrinePhpParser ( ) : Doctrine\Common\Annotations\PhpParser | Retrieves a singleton instance of the Doctrine PhpParser | |
getParentClasses ( |
Finds all parent classes of the given class | |
getPrecompiledReflectionStoragePath ( ) : string | Determines the path to the precompiled reflection data. | |
hasFrozenCacheInProduction ( ) : boolean | ||
initialize ( ) : void | Initialize the reflection service lazily | |
isTagIgnored ( string $tagName ) : boolean | Check if a specific annotation tag is configured to be ignored. | |
loadClassReflectionCompiletimeCache ( ) : boolean | Tries to load the reflection data from the compile time cache. | |
loadOrReflectClassIfNecessary ( string $className ) : void | Loads reflection data from the cache or reflects the class if needed. | |
log ( string $message, integer $severity = LOG_INFO, mixed $additionalData = null ) : void | Writes the given message along with the additional information into the log. | |
makeChildClassesAggregateRoot ( |
Assigns the repository of any aggregate root to all it's subclasses, unless they are aggregate root already. | |
prepareClassReflectionForUsage ( string $className ) : string | Initializes the ReflectionService, cleans the given class name and finally reflects the class if necessary. | |
produceCacheIdentifierFromClassName ( string $className ) : string | Transform backslashes to underscores to provide an valid cache identifier. | |
reflectClass ( string $className ) : void | Reflects the given class and stores the results in this service's properties. | |
reflectClassMethod ( string $className, |
||
reflectClassMethodParameter ( string $className, |
||
reflectEmergedClasses ( ) : void | Checks if the given class names match those which already have been reflected. If the given array contains class names not yet known to this service, these classes will be reflected. | |
reflectPropertyTag ( string $className, |
||
saveDevelopmentData ( ) | Save reflection data to cache in Development context. | |
saveProductionData ( ) | Save reflection data to cache in Production context. | |
updateReflectionData ( ) | Set updated reflection data to caches. |
protected addImplementedInterface ( string $className, |
||
$className | string | |
$interface |
protected addParentClass ( string $className, |
||
$className | string | |
$parentClass | ||
return | void |
protected addPropertiesToClassSchema ( |
||
$classSchema | ||
return | void |
protected buildClassSchema ( string $className ) : |
||
$className | string | |
return |
protected buildClassSchemata ( array $classNames ) : void | ||
$classNames | array | |
return | void |
public buildReflectionData ( array $availableClassNames ) : void | ||
$availableClassNames | array | List of all class names to consider for reflection |
return | void |
protected checkValueObjectRequirements ( string $className ) : void | ||
$className | string | |
return | void |
protected cleanClassName ( string $className ) : string | ||
$className | string | |
return | string |
protected completeRepositoryAssignments ( ) : void | ||
return | void |
protected convertParameterDataToArray ( array $parametersInformation ) : array | ||
$parametersInformation | array | Raw, internal parameter information |
return | array | Developer friendly version |
protected convertParameterReflectionToArray ( |
||
$parameter | The parameter to reflect | |
$method | The parameter's method | |
return | array | Parameter information array |
protected ensureAggregateRootInheritanceChainConsistency ( ) : void | ||
return | void |
protected evaluateClassPropertyAnnotationsForSchema ( |
||
$classSchema | ||
$propertyName | string | |
return | boolean |
protected expandType ( |
||
$class | ||
$type | string | the type inside var/param annotation |
return | string | the possibly expanded type |
protected forgetChangedClasses ( ) : void | ||
return | void |
protected forgetClass ( string $className ) : void | ||
$className | string | Name of the class to forget |
return | void |
public freezePackageReflection ( string $packageKey ) : void | ||
$packageKey | string | |
return | void |
public getAllClassNames ( ) : array | ||
return | array | Class names |
public getAllImplementationClassNamesForInterface ( string $interfaceName ) : array | ||
$interfaceName | string | Name of the interface |
return | array | An array of class names of the default implementation for the object type |
public getAllSubClassNamesForClass ( string $className ) : array | ||
$className | string | Name of the parent class |
return | array | An array of names of those classes being a direct or indirect subclass of the specified class |
public getClassAnnotations ( string $className, string $annotationClassName = null ) : array | ||
$className | string | Name of the class |
$annotationClassName | string | Annotation to filter for |
return | array |
public getClassNameByObject ( object $object ) : string | ||
$object | object | |
return | string | The class name of the given object |
public getClassNamesByAnnotation ( string $annotationClassName ) : array | ||
$annotationClassName | string | Name of the annotation class, for example "Neos\Flow\Annotations\Aspect" |
return | array |
public getClassPropertyNames ( string $className ) : array | ||
$className | string | Name of the class to return the property names of |
return | array | An array of property names or an empty array if none exist |
public getClassSchema ( mixed $classNameOrObject ) : |
||
$classNameOrObject | mixed | The class name or an object |
return |
public getClassesContainingMethodsAnnotatedWith ( string $annotationClassName ) : array | ||
$annotationClassName | string | The annotation class name for a method annotation |
return | array | An array of class names |
public getDefaultImplementationClassNameForInterface ( string $interfaceName ) : mixed | ||
$interfaceName | string | Name of the interface |
return | mixed | Either the class name of the default implementation for the object type or FALSE |
protected getDoctrinePhpParser ( ) : Doctrine\Common\Annotations\PhpParser | ||
return | Doctrine\Common\Annotations\PhpParser |
public getMethodParameters ( string $className, string $methodName ) : array | ||
$className | string | Name of the class containing the method |
$methodName | string | Name of the method to return parameter information of |
return | array | An array of parameter names and additional information or an empty array of no parameters were found |
protected getParentClasses ( |
||
$class | The class to reflect | |
$parentClasses | array | Array of parent classes |
return | array |
protected getPrecompiledReflectionStoragePath ( ) : string | ||
return | string |
public getPropertyTagValues ( string $className, string $propertyName, string $tag ) : array | ||
$className | string | Name of the class containing the property |
$propertyName | string | Name of the tagged property |
$tag | string | Tag to return the values of |
return | array | An array of values or an empty array if the tag was not found |
public getPropertyTagsValues ( string $className, string $propertyName ) : array | ||
$className | string | Name of the class containing the property |
$propertyName | string | Name of the property to return the tags and values of |
return | array | An array of tags and their values or an empty array of no tags were found |
protected hasFrozenCacheInProduction ( ) : boolean | ||
return | boolean |
protected initialize ( ) : void | ||
return | void |
public injectClassLoader ( |
||
$classLoader | ||
return | void |
public injectEnvironment ( |
||
$environment | ||
return | void |
public injectPackageManager ( Neos\Flow\Package\PackageManagerInterface $packageManager ) : void | ||
$packageManager | Neos\Flow\Package\PackageManagerInterface | |
return | void |
public injectSettings ( array $settings ) : void | ||
$settings | array | Settings of the Flow package |
return | void |
public injectSystemLogger ( Neos\Flow\Log\SystemLoggerInterface $systemLogger ) : void | ||
$systemLogger | Neos\Flow\Log\SystemLoggerInterface | |
return | void |
public isClassAbstract ( string $className ) : boolean | ||
$className | string | Name of the class to analyze |
return | boolean | TRUE if the class is abstract, otherwise FALSE |
public isClassFinal ( string $className ) : boolean | ||
$className | string | Name of the class to analyze |
return | boolean | TRUE if the class is final, otherwise FALSE |
public isClassReflected ( string $className ) : boolean | ||
$className | string | Name of the class |
return | boolean | If the class is reflected by this service |
public isClassUnconfigurable ( string $className ) : boolean | ||
$className | string | Name of the class to analyze |
return | boolean | return TRUE if class not could not be automatically configured, otherwise FALSE |
protected isTagIgnored ( string $tagName ) : boolean | ||
$tagName | string | The annotation tag to check |
return | boolean | TRUE if the tag is configured to be ignored, FALSE otherwise |
protected loadClassReflectionCompiletimeCache ( ) : boolean | ||
return | boolean | TRUE if reflection data could be loaded, otherwise FALSE |
protected loadOrReflectClassIfNecessary ( string $className ) : void | ||
$className | string | Name of the class to load data for |
return | void |
protected log ( string $message, integer $severity = LOG_INFO, mixed $additionalData = null ) : void | ||
$message | string | The message to log |
$severity | integer | An integer value, one of the LOG_* constants |
$additionalData | mixed | A variable containing more information about the event to be logged |
return | void |
protected makeChildClassesAggregateRoot ( |
||
$classSchema | ||
return | void |
protected prepareClassReflectionForUsage ( string $className ) : string | ||
$className | string | |
return | string | The cleaned class name |
protected produceCacheIdentifierFromClassName ( string $className ) : string | ||
$className | string | |
return | string |
protected reflectClass ( string $className ) : void | ||
$className | string | Full qualified name of the class to reflect |
return | void |
protected reflectClassMethod ( string $className, |
||
$className | string | |
$method | ||
return | void |
protected reflectClassMethodParameter ( string $className, |
||
$className | string | |
$method | ||
$parameter | ||
return | void |
public reflectClassProperty ( string $className, |
||
$className | string | |
$property | ||
return | integer | visibility |
protected reflectEmergedClasses ( ) : void | ||
return | void |
protected saveDevelopmentData ( ) |
protected saveProductionData ( ) |
public saveToCache ( ) : void | ||
return | void |
public setClassSchemataRuntimeCache ( Neos\Cache\Frontend\VariableFrontend $cache ) : void | ||
$cache | Neos\Cache\Frontend\VariableFrontend | |
return | void |
public setReflectionDataCompiletimeCache ( Neos\Cache\Frontend\VariableFrontend $cache ) : void | ||
$cache | Neos\Cache\Frontend\VariableFrontend | Cache for the reflection service |
return | void |
public setReflectionDataRuntimeCache ( Neos\Cache\Frontend\VariableFrontend $cache ) : void | ||
$cache | Neos\Cache\Frontend\VariableFrontend | Cache for the reflection service |
return | void |
public setStatusCache ( |
||
$cache | Cache for the reflection service | |
return | void |
public unfreezePackageReflection ( string $packageKey ) : void | ||
$packageKey | string | The package to remove the data from |
return | void |
protected updateReflectionData ( ) |
protected array $annotatedClasses | ||
return | array |
protected Reader,Doctrine\Common\Annotations $annotationReader | ||
return | Doctrine\Common\Annotations\Reader |
protected ClassLoader,Neos\Flow\Core $classLoader | ||
return |
protected array $classReflectionData | ||
return | array |
protected array<\Neos\Flow\Reflection\ClassSchema> $classSchemata | ||
return | array<\Neos\Flow\Reflection\ClassSchema> |
protected VariableFrontend,Neos\Cache\Frontend $classSchemataRuntimeCache | ||
return | Neos\Cache\Frontend\VariableFrontend |
protected array $classesByMethodAnnotations | ||
return | array |
protected array $classesCurrentlyBeingForgotten | ||
return | array |
protected ApplicationContext,Neos\Flow\Core $context | ||
return |
protected PhpParser,Doctrine\Common\Annotations $doctrinePhpParser | ||
return | Doctrine\Common\Annotations\PhpParser |
protected Environment,Neos\Flow\Utility $environment | ||
return |
protected bool $loadFromClassSchemaRuntimeCache | ||
return | boolean |
protected PackageManagerInterface,Neos\Flow\Package $packageManager | ||
return | Neos\Flow\Package\PackageManagerInterface |
protected VariableFrontend,Neos\Cache\Frontend $reflectionDataCompiletimeCache | ||
return | Neos\Cache\Frontend\VariableFrontend |
protected VariableFrontend,Neos\Cache\Frontend $reflectionDataRuntimeCache | ||
return | Neos\Cache\Frontend\VariableFrontend |
protected StringFrontend,Neos\Cache\Frontend $statusCache | ||
return |
protected SystemLoggerInterface,Neos\Flow\Log $systemLogger | ||
return | Neos\Flow\Log\SystemLoggerInterface |
protected array $updatedReflectionData | ||
return | array |
protected array $useStatementsForClassCache | ||
return | array |