CrossCuttingLoader
in package
implements
CrossCuttingLoaderInterface
Class CrossCuttingLoader
CrossCuttingLoader enables loading of mockable objects for cross cutting concerns, that were not injected to the current object.
Important: RegisteredObjectsOnly flag must be enabled for unit testing.
Tags
Interfaces, Classes and Traits
- CrossCuttingLoaderInterface
- Interface CrossCuttingLoaderInterface
Table of Contents
- $registeredObjectArrays : array<string|int, mixed>
- $registeredObjectsOnly : bool
- $strictModeEnabled : bool
- clearRegister() : void
- getObject() : object
- In strict mode ($strictModeEnabled=true) this method accepts classes with implemented CrossCuttingObjectInterface only. Otherwise it throws an InvalidArgumentException.
- registerObject() : mixed
- In strict mode ($strictModeEnabled=true) this method accepts classes with implemented CrossCuttingObjectInterface only. Otherwise it throws an InvalidArgumentException.
- setRegisteredObjectsOnly() : mixed
- RegisteredObjectsOnly Flag Setter
- useRegisteredObjectsOnly() : bool
- RegisteredObjectsOnly Flag Getter
- _getObjectFromMainFactory() : object
- _getObjectFromRegister() : object
- _strictModeValidateTypeOf() : mixed
Properties
$registeredObjectArrays
protected
array<string|int, mixed>
$registeredObjectArrays
= []
$registeredObjectsOnly
protected
bool
$registeredObjectsOnly
= alse
$strictModeEnabled
protected
bool
$strictModeEnabled
= rue
Tags
Methods
clearRegister()
public
clearRegister() : void
Return values
void —getObject()
In strict mode ($strictModeEnabled=true) this method accepts classes with implemented CrossCuttingObjectInterface only. Otherwise it throws an InvalidArgumentException.
public
getObject(string $p_classname) : object
Parameters
- $p_classname : string
Tags
Return values
object —registerObject()
In strict mode ($strictModeEnabled=true) this method accepts classes with implemented CrossCuttingObjectInterface only. Otherwise it throws an InvalidArgumentException.
public
registerObject(string $p_classname, object $object) : mixed
Parameters
- $p_classname : string
- $object : object
Tags
Return values
mixed —setRegisteredObjectsOnly()
RegisteredObjectsOnly Flag Setter
public
setRegisteredObjectsOnly(bool $bool_status) : mixed
If RegisteredObjectsOnly is enabled, the loader returns only objects, that were registered by the registerObject method before. RegisteredObjectsOnly should be enabled in all unit tests.
Parameters
- $bool_status : bool
Return values
mixed —useRegisteredObjectsOnly()
RegisteredObjectsOnly Flag Getter
public
useRegisteredObjectsOnly() : bool
Return values
bool —_getObjectFromMainFactory()
protected
_getObjectFromMainFactory(string $p_classname) : object
Parameters
- $p_classname : string
Return values
object —_getObjectFromRegister()
protected
_getObjectFromRegister(string $p_classname) : object
Parameters
- $p_classname : string
Return values
object —_strictModeValidateTypeOf()
protected
_strictModeValidateTypeOf( $object) : mixed