PHP Class Neos\Flow\ObjectManagement\CompileTimeObjectManager

Inheritance: extends ObjectManager
Afficher le fichier Open project: neos/flow-development-collection Class Usage Examples

Protected Properties

Свойство Type Description
$cachedClassNamesByScope array
$configurationCache Neos\Cache\Frontend\VariableFrontend
$configurationManager Neos\Flow\Configuration\ConfigurationManager
$objectConfigurations array
$objectNameBuildStack array
$reflectionService Neos\Flow\Reflection\ReflectionService
$registeredClassNames array A list of all class names known to the Object Manager
$systemLogger Neos\Flow\Log\SystemLoggerInterface

Méthodes publiques

Méthode Description
get ( string $objectName ) : object Returns a fresh or existing instance of the object specified by $objectName.
getClassNamesByScope ( integer $scope ) : array Returns a list of class names, which are configured with the given scope
getObjectConfigurations ( ) : array Returns object configurations which were previously built by the ConfigurationBuilder.
getRegisteredClassNames ( ) : array Returns a list of all class names, grouped by package key, which were registered by registerClassFiles()
initialize ( array $packages ) : void Initializes the the object configurations and some other parts of this Object Manager.
injectConfigurationCache ( Neos\Cache\Frontend\VariableFrontend $configurationCache ) : void Injects the configuration cache of the Object Framework
injectConfigurationManager ( ConfigurationManager $configurationManager ) : void
injectReflectionService ( ReflectionService $reflectionService ) : void
injectSystemLogger ( Neos\Flow\Log\SystemLoggerInterface $systemLogger ) : void
setInstance ( string $objectName, object $instance ) : void Sets the instance of the given object
shutdown ( ) : void Shuts down this Object Container by calling the shutdown methods of all object instances which were configured to be shut down.

Méthodes protégées

Méthode Description
applyClassFilterConfiguration ( array $classNames, array $filterConfiguration, string $includeOrExclude = 'include' ) : array Filters the classnames available for object management by filter expressions that either include or exclude classes.
buildObjectsArray ( ) : array Builds the objects array which contains information about the registered objects, their scope, class, built method etc.
collectExcludedPackages ( array $registeredPackageKeys ) : array Explodes the regular expressions for package name in excludeClasses configuration to full package names.
filterClassNamesFromConfiguration ( array $classNames, array $includeClassesConfiguration ) : array Given an array of class names by package key this filters out classes that have been configured to be excluded or included by object management.
registerClassFiles ( array $packages ) : array Traverses through all class files of the active packages and registers collects the class names as "all available class names". If the respective Flow settings say so, also function test classes are registered.

Method Details

applyClassFilterConfiguration() protected méthode

Filters the classnames available for object management by filter expressions that either include or exclude classes.
protected applyClassFilterConfiguration ( array $classNames, array $filterConfiguration, string $includeOrExclude = 'include' ) : array
$classNames array All classnames per package
$filterConfiguration array The filter configuration to apply
$includeOrExclude string if this is an "include" or "exclude" filter
Résultat array the remaining class

buildObjectsArray() protected méthode

Builds the objects array which contains information about the registered objects, their scope, class, built method etc.
protected buildObjectsArray ( ) : array
Résultat array

collectExcludedPackages() protected méthode

Explodes the regular expressions for package name in excludeClasses configuration to full package names.
protected collectExcludedPackages ( array $registeredPackageKeys ) : array
$registeredPackageKeys array
Résultat array

filterClassNamesFromConfiguration() protected méthode

Given an array of class names by package key this filters out classes that have been configured to be excluded or included by object management.
protected filterClassNamesFromConfiguration ( array $classNames, array $includeClassesConfiguration ) : array
$classNames array 2-level array - key of first level is package key, value of second level is classname (FQN)
$includeClassesConfiguration array array of includeClasses configurations
Résultat array The input array with all configured to be excluded from object management filtered out

get() public méthode

This specialized get() method is able to do setter injection for properties defined in the object configuration of the specified object.
public get ( string $objectName ) : object
$objectName string The name of the object to return an instance of
Résultat object The object instance

getClassNamesByScope() public méthode

Returns a list of class names, which are configured with the given scope
public getClassNamesByScope ( integer $scope ) : array
$scope integer One of the ObjectConfiguration::SCOPE_ constants
Résultat array An array of class names configured with the given scope

getObjectConfigurations() public méthode

Returns object configurations which were previously built by the ConfigurationBuilder.
public getObjectConfigurations ( ) : array
Résultat array

getRegisteredClassNames() public méthode

Returns a list of all class names, grouped by package key, which were registered by registerClassFiles()
public getRegisteredClassNames ( ) : array
Résultat array

initialize() public méthode

Initializes the the object configurations and some other parts of this Object Manager.
public initialize ( array $packages ) : void
$packages array An array of active packages to consider
Résultat void

injectConfigurationCache() public méthode

Injects the configuration cache of the Object Framework
public injectConfigurationCache ( Neos\Cache\Frontend\VariableFrontend $configurationCache ) : void
$configurationCache Neos\Cache\Frontend\VariableFrontend
Résultat void

injectConfigurationManager() public méthode

public injectConfigurationManager ( ConfigurationManager $configurationManager ) : void
$configurationManager Neos\Flow\Configuration\ConfigurationManager
Résultat void

injectReflectionService() public méthode

public injectReflectionService ( ReflectionService $reflectionService ) : void
$reflectionService Neos\Flow\Reflection\ReflectionService
Résultat void

injectSystemLogger() public méthode

public injectSystemLogger ( Neos\Flow\Log\SystemLoggerInterface $systemLogger ) : void
$systemLogger Neos\Flow\Log\SystemLoggerInterface
Résultat void

registerClassFiles() protected méthode

For performance reasons this function ignores classes whose name ends with "Exception".
protected registerClassFiles ( array $packages ) : array
$packages array A list of packages to consider
Résultat array A list of class names which were discovered in the given packages

setInstance() public méthode

In the Compile Time Object Manager it is even allowed to set instances of not-yet-known objects as long as the Object Manager is not initialized, because some few parts need an object registry even before the Object Manager is fully functional.
public setInstance ( string $objectName, object $instance ) : void
$objectName string The object name
$instance object A prebuilt instance
Résultat void

shutdown() public méthode

Shuts down this Object Container by calling the shutdown methods of all object instances which were configured to be shut down.
public shutdown ( ) : void
Résultat void

Property Details

$cachedClassNamesByScope protected_oe property

protected array $cachedClassNamesByScope
Résultat array

$configurationCache protected_oe property

protected VariableFrontend,Neos\Cache\Frontend $configurationCache
Résultat Neos\Cache\Frontend\VariableFrontend

$configurationManager protected_oe property

protected ConfigurationManager,Neos\Flow\Configuration $configurationManager
Résultat Neos\Flow\Configuration\ConfigurationManager

$objectConfigurations protected_oe property

protected array $objectConfigurations
Résultat array

$objectNameBuildStack protected_oe property

protected array $objectNameBuildStack
Résultat array

$reflectionService protected_oe property

protected ReflectionService,Neos\Flow\Reflection $reflectionService
Résultat Neos\Flow\Reflection\ReflectionService

$registeredClassNames protected_oe property

A list of all class names known to the Object Manager
protected array $registeredClassNames
Résultat array

$systemLogger protected_oe property

protected SystemLoggerInterface,Neos\Flow\Log $systemLogger
Résultat Neos\Flow\Log\SystemLoggerInterface