Container implements SingletonInterface, LoggerAwareInterface uses LoggerAwareTrait

Internal TYPO3 Dependency Injection container

Deprecated

since v11, will be removed in v12. Use symfony DI and GeneralUtility::makeInstance() instead. See TYPO3 explained documentation for more information. Does not trigger_error since the ObjectManager->get() call does that.

Internal

only to be used within Extbase, not part of TYPO3 Core API.

Tags
template

T

Table of Contents

Interfaces

SingletonInterface
"empty" interface for singletons (marker interface pattern)
LoggerAwareInterface

Properties

$instantiator  : InstantiatorInterface

Methods

__construct()  : mixed
getEmptyObject()  : object|T
Create an instance of $className without calling its constructor
getImplementationClassName()  : string
Returns the class name for a new instance, taking into account the class-extension API.
getInstance()  : object|T
Main method which should be used to get an instance of the wished class specified by $className.
registerImplementation()  : void
register a classname that should be used if a dependency is required.
getInstanceInternal()  : object|T
Internal implementation for getting a class.
getInstantiator()  : InstantiatorInterface
Internal method to create the class instantiator, extracted to be mockable
getReflectionService()  : ReflectionService
Lazy load ReflectionService.
initializeObject()  : void
Call object initializer if present in object
injectDependencies()  : void
Inject setter-dependencies into $instance
instanciateObject()  : object
Instantiates an object, possibly setting the constructor dependencies.

Properties

$instantiator

protected InstantiatorInterface $instantiator

Methods

__construct()

public __construct(ContainerInterface $psrContainer) : mixed
Parameters
$psrContainer : ContainerInterface

getEmptyObject()

Create an instance of $className without calling its constructor

public getEmptyObject(string|T> $className) : object|T
Parameters
$className : string|T>
Return values
object|T

getImplementationClassName()

Returns the class name for a new instance, taking into account the class-extension API.

public getImplementationClassName(string $className) : string
Parameters
$className : string

Base class name to evaluate

Return values
string

Final class name to instantiate with "new [classname]

getInstance()

Main method which should be used to get an instance of the wished class specified by $className.

public getInstance(string|T> $className[, array<string|int, mixed> $givenConstructorArguments = [] ]) : object|T
Parameters
$className : string|T>
$givenConstructorArguments : array<string|int, mixed> = []

the list of constructor arguments as array

Internal
Return values
object|T

the built object

registerImplementation()

register a classname that should be used if a dependency is required.

public registerImplementation(string $className, string $alternativeClassName) : void

e.g. used to define default class for an interface

Parameters
$className : string
$alternativeClassName : string
Tags
todo

deprecate in favor of core DI configuration (aliases/overrides)

getInstanceInternal()

Internal implementation for getting a class.

protected getInstanceInternal(string|T> $className, array<int, mixed> ...$givenConstructorArguments) : object|T
Parameters
$className : string|T>
$givenConstructorArguments : array<int, mixed>

the list of constructor arguments as array

Tags
throws
Exception
throws
CannotBuildObjectException
Return values
object|T

the built object

getInstantiator()

Internal method to create the class instantiator, extracted to be mockable

protected getInstantiator() : InstantiatorInterface
Return values
InstantiatorInterface

getReflectionService()

Lazy load ReflectionService.

protected getReflectionService() : ReflectionService

Required as this class is being loaded in ext_localconf.php and we MUST not create caches in ext_localconf.php (which ReflectionService needs to do).

Return values
ReflectionService

initializeObject()

Call object initializer if present in object

protected initializeObject(object $instance) : void
Parameters
$instance : object

injectDependencies()

Inject setter-dependencies into $instance

protected injectDependencies(object $instance, ClassSchema $classSchema) : void
Parameters
$instance : object
$classSchema : ClassSchema

instanciateObject()

Instantiates an object, possibly setting the constructor dependencies.

protected instanciateObject(ClassSchema $classSchema, array<int, mixed> ...$givenConstructorArguments) : object

Additionally, directly registers all singletons in the singleton registry, such that circular references of singletons are correctly instantiated.

Parameters
$classSchema : ClassSchema
$givenConstructorArguments : array<int, mixed>
Tags
throws
Exception
Return values
object

the new instance


        
On this page

Search results