AbstractProxyFactory
in package
Abstract factory for proxy objects.
Table of Contents
Constants
- AUTOGENERATE_ALWAYS = 1
- Always generates a new proxy in every request.
- AUTOGENERATE_EVAL = 3
- Generate the proxy classes using eval().
- AUTOGENERATE_FILE_NOT_EXISTS = 2
- Autogenerate the proxy class when the proxy file does not exist.
- AUTOGENERATE_FILE_NOT_EXISTS_OR_CHANGED = 4
- Autogenerate the proxy class when the proxy file does not exist or when the proxied file changed.
- AUTOGENERATE_NEVER = 0
- Never autogenerate a proxy and rely that it was generated by some process before deployment.
- AUTOGENERATE_MODES = [self::AUTOGENERATE_NEVER, self::AUTOGENERATE_ALWAYS, self::AUTOGENERATE_FILE_NOT_EXISTS, self::AUTOGENERATE_EVAL, self::AUTOGENERATE_FILE_NOT_EXISTS_OR_CHANGED]
Properties
- $autoGenerate : int
- $definitions : array<string|int, ProxyDefinition>
- $metadataFactory : ClassMetadataFactory
- $proxyGenerator : ProxyGenerator
Methods
- __construct() : mixed
- generateProxyClasses() : int
- Generates proxy classes for all given classes.
- getProxy() : Proxy
- Gets a reference proxy instance for the entity of the given type and identified by the given identifier.
- resetUninitializedProxy() : Proxy
- Reset initialization/cloning logic for an un-initialized proxy
- createProxyDefinition() : ProxyDefinition
- skipClass() : bool
- Determine if this class should be skipped during proxy generation.
- getProxyDefinition() : ProxyDefinition
- Get a proxy definition for the given class name.
Constants
AUTOGENERATE_ALWAYS
Always generates a new proxy in every request.
public
mixed
AUTOGENERATE_ALWAYS
= 1
This is only sane during development.
AUTOGENERATE_EVAL
Generate the proxy classes using eval().
public
mixed
AUTOGENERATE_EVAL
= 3
This strategy is only sane for development, and even then it gives me the creeps a little.
AUTOGENERATE_FILE_NOT_EXISTS
Autogenerate the proxy class when the proxy file does not exist.
public
mixed
AUTOGENERATE_FILE_NOT_EXISTS
= 2
This strategy causes a file_exists() call whenever any proxy is used the first time in a request.
AUTOGENERATE_FILE_NOT_EXISTS_OR_CHANGED
Autogenerate the proxy class when the proxy file does not exist or when the proxied file changed.
public
mixed
AUTOGENERATE_FILE_NOT_EXISTS_OR_CHANGED
= 4
This strategy causes a file_exists() call whenever any proxy is used the first time in a request. When the proxied file is changed, the proxy will be updated.
AUTOGENERATE_NEVER
Never autogenerate a proxy and rely that it was generated by some process before deployment.
public
mixed
AUTOGENERATE_NEVER
= 0
AUTOGENERATE_MODES
private
mixed
AUTOGENERATE_MODES
= [self::AUTOGENERATE_NEVER, self::AUTOGENERATE_ALWAYS, self::AUTOGENERATE_FILE_NOT_EXISTS, self::AUTOGENERATE_EVAL, self::AUTOGENERATE_FILE_NOT_EXISTS_OR_CHANGED]
Properties
$autoGenerate
private
int
$autoGenerate
Whether to automatically (re)generate proxy classes.
$definitions
private
array<string|int, ProxyDefinition>
$definitions
= []
$metadataFactory
private
ClassMetadataFactory
$metadataFactory
$proxyGenerator
private
ProxyGenerator
$proxyGenerator
the proxy generator responsible for creating the proxy classes/files.
Methods
__construct()
public
__construct(ProxyGenerator $proxyGenerator, ClassMetadataFactory $metadataFactory, bool|int $autoGenerate) : mixed
Parameters
- $proxyGenerator : ProxyGenerator
- $metadataFactory : ClassMetadataFactory
- $autoGenerate : bool|int
Tags
generateProxyClasses()
Generates proxy classes for all given classes.
public
generateProxyClasses(array<string|int, ClassMetadata> $classes[, string $proxyDir = null ]) : int
Parameters
- $classes : array<string|int, ClassMetadata>
-
The classes (ClassMetadata instances) for which to generate proxies.
- $proxyDir : string = null
-
The target directory of the proxy classes. If not specified, the directory configured on the Configuration of the EntityManager used by this factory is used.
Return values
int —Number of generated proxies.
getProxy()
Gets a reference proxy instance for the entity of the given type and identified by the given identifier.
public
getProxy(string $className, array<string|int, mixed> $identifier) : Proxy
Parameters
- $className : string
- $identifier : array<string|int, mixed>
Tags
Return values
ProxyresetUninitializedProxy()
Reset initialization/cloning logic for an un-initialized proxy
public
resetUninitializedProxy(Proxy $proxy) : Proxy
Parameters
- $proxy : Proxy
Tags
Return values
ProxycreateProxyDefinition()
protected
abstract createProxyDefinition(string $className) : ProxyDefinition
Parameters
- $className : string
Tags
Return values
ProxyDefinitionskipClass()
Determine if this class should be skipped during proxy generation.
protected
abstract skipClass(ClassMetadata $metadata) : bool
Parameters
- $metadata : ClassMetadata
Return values
boolgetProxyDefinition()
Get a proxy definition for the given class name.
private
getProxyDefinition(string $className) : ProxyDefinition
Parameters
- $className : string