PHP Класс Neos\Flow\ObjectManagement\CompileTimeObjectManager

Наследование: extends ObjectManager
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
$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

Открытые методы

Метод Описание
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.

Защищенные методы

Метод Описание
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.

Описание методов

applyClassFilterConfiguration() защищенный Метод

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
Результат array the remaining class

buildObjectsArray() защищенный Метод

Builds the objects array which contains information about the registered objects, their scope, class, built method etc.
protected buildObjectsArray ( ) : array
Результат array

collectExcludedPackages() защищенный Метод

Explodes the regular expressions for package name in excludeClasses configuration to full package names.
protected collectExcludedPackages ( array $registeredPackageKeys ) : array
$registeredPackageKeys array
Результат array

filterClassNamesFromConfiguration() защищенный Метод

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
Результат array The input array with all configured to be excluded from object management filtered out

get() публичный Метод

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
Результат object The object instance

getClassNamesByScope() публичный Метод

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
Результат array An array of class names configured with the given scope

getObjectConfigurations() публичный Метод

Returns object configurations which were previously built by the ConfigurationBuilder.
public getObjectConfigurations ( ) : array
Результат array

getRegisteredClassNames() публичный Метод

Returns a list of all class names, grouped by package key, which were registered by registerClassFiles()
public getRegisteredClassNames ( ) : array
Результат array

initialize() публичный Метод

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
Результат void

injectConfigurationCache() публичный Метод

Injects the configuration cache of the Object Framework
public injectConfigurationCache ( Neos\Cache\Frontend\VariableFrontend $configurationCache ) : void
$configurationCache Neos\Cache\Frontend\VariableFrontend
Результат void

injectConfigurationManager() публичный Метод

public injectConfigurationManager ( ConfigurationManager $configurationManager ) : void
$configurationManager Neos\Flow\Configuration\ConfigurationManager
Результат void

injectReflectionService() публичный Метод

public injectReflectionService ( ReflectionService $reflectionService ) : void
$reflectionService Neos\Flow\Reflection\ReflectionService
Результат void

injectSystemLogger() публичный Метод

public injectSystemLogger ( Neos\Flow\Log\SystemLoggerInterface $systemLogger ) : void
$systemLogger Neos\Flow\Log\SystemLoggerInterface
Результат void

registerClassFiles() защищенный Метод

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
Результат array A list of class names which were discovered in the given packages

setInstance() публичный Метод

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
Результат void

shutdown() публичный Метод

Shuts down this Object Container by calling the shutdown methods of all object instances which were configured to be shut down.
public shutdown ( ) : void
Результат void

Описание свойств

$cachedClassNamesByScope защищенное свойство

protected array $cachedClassNamesByScope
Результат array

$configurationCache защищенное свойство

protected VariableFrontend,Neos\Cache\Frontend $configurationCache
Результат Neos\Cache\Frontend\VariableFrontend

$configurationManager защищенное свойство

protected ConfigurationManager,Neos\Flow\Configuration $configurationManager
Результат Neos\Flow\Configuration\ConfigurationManager

$objectConfigurations защищенное свойство

protected array $objectConfigurations
Результат array

$objectNameBuildStack защищенное свойство

protected array $objectNameBuildStack
Результат array

$reflectionService защищенное свойство

protected ReflectionService,Neos\Flow\Reflection $reflectionService
Результат Neos\Flow\Reflection\ReflectionService

$registeredClassNames защищенное свойство

A list of all class names known to the Object Manager
protected array $registeredClassNames
Результат array

$systemLogger защищенное свойство

protected SystemLoggerInterface,Neos\Flow\Log $systemLogger
Результат Neos\Flow\Log\SystemLoggerInterface