PhpDumper
extends Dumper
in package
PhpDumper dumps a service container as a PHP class.
Tags
Table of Contents
Constants
- FIRST_CHARS = 'abcdefghijklmnopqrstuvwxyz'
- Characters that might appear in the generated variable name as first character.
- NON_FIRST_CHARS = 'abcdefghijklmnopqrstuvwxyz0123456789_'
- Characters that might appear in the generated variable name as any but the first character.
Properties
- $container : mixed
- $addGetService : bool
- $asFiles : bool
- $baseClass : string
- $circularReferences : array<string|int, mixed>
- $definitionVariables : SplObjectStorage<Definition, Variable>|null
- $docStar : string
- $exportedVariables : array<string|int, mixed>
- $expressionLanguage : ExpressionLanguage
- $hasProxyDumper : bool
- $hotPathTag : string
- $inlinedDefinitions : SplObjectStorage|null
- $inlinedRequires : array<string|int, mixed>
- $inlineFactories : bool
- $inlineRequires : bool
- $locatedIds : array<string|int, mixed>
- $namespace : string
- $preload : array<string|int, mixed>
- $preloadTags : array<string|int, mixed>
- $proxyDumper : DumperInterface
- $referenceVariables : array<string|int, mixed>|null
- $reservedVariables : array<string|int, mixed>
- $serviceCalls : array<string|int, mixed>|null
- $serviceIdToMethodNameMap : array<string|int, mixed>
- $serviceLocatorTag : string
- $singleUsePrivateIds : array<string|int, mixed>
- $targetDirMaxMatches : int
- $targetDirRegex : string|null
- $usedMethodNames : array<string|int, mixed>
- $variableCount : int
Methods
- __construct() : mixed
- dump() : string|array<string|int, mixed>
- Dumps the service container as a PHP class.
- setProxyDumper() : mixed
- Sets the dumper to be used when dumping proxies in the generated container.
- addAliases() : string
- addCircularReferences() : mixed
- addDefaultParametersMethod() : string
- addDeprecatedAliases() : string
- addFileMap() : string
- addInlineReference() : string
- addInlineRequires() : string
- addInlineService() : string
- addInlineVariables() : string
- addMethodMap() : string
- addNewInstance() : string
- addRemovedIds() : string
- addService() : array<string|int, mixed>
- addServiceConfigurator() : string
- addServiceInclude() : string
- addServiceInstance() : string
- addServiceMethodCalls() : string
- addServiceProperties() : string
- addServices() : string
- addSyntheticIds() : string
- analyzeReferences() : mixed
- collectCircularReferences() : void
- collectLineage() : mixed
- doExport() : mixed
- dumpLiteralClass() : string
- Dumps a string to a literal (aka PHP Code) class value.
- dumpParameter() : string
- dumpValue() : string
- endClass() : string
- export() : mixed
- exportParameters() : string
- generateMethodName() : string
- generateProxyClasses() : array<string|int, mixed>
- generateServiceFiles() : iterable<string|int, mixed>
- getAutoloadFile() : string|null
- getClasses() : array<string|int, mixed>
- getDefinitionsFromArguments() : SplObjectStorage
- getExpressionLanguage() : ExpressionLanguage
- getNextVariableName() : string
- getProxyDumper() : DumperInterface
- Retrieves the currently set proxy dumper or instantiates one.
- getServiceCall() : string
- getServiceConditionals() : string
- initializeMethodNamesMap() : mixed
- Initializes the method names map to avoid conflicts with the Container methods.
- isHotPath() : bool
- isSingleUsePrivateNode() : bool
- isTrivialInstance() : bool
- startClass() : string
- wrapServiceConditionals() : string
Constants
FIRST_CHARS
Characters that might appear in the generated variable name as first character.
public
mixed
FIRST_CHARS
= 'abcdefghijklmnopqrstuvwxyz'
NON_FIRST_CHARS
Characters that might appear in the generated variable name as any but the first character.
public
mixed
NON_FIRST_CHARS
= 'abcdefghijklmnopqrstuvwxyz0123456789_'
Properties
$container
protected
mixed
$container
$addGetService
private
bool
$addGetService
= false
$asFiles
private
bool
$asFiles
$baseClass
private
string
$baseClass
$circularReferences
private
array<string|int, mixed>
$circularReferences
= []
$definitionVariables
private
SplObjectStorage<Definition, Variable>|null
$definitionVariables
= null
$docStar
private
string
$docStar
$exportedVariables
private
array<string|int, mixed>
$exportedVariables
= []
$expressionLanguage
private
ExpressionLanguage
$expressionLanguage
$hasProxyDumper
private
bool
$hasProxyDumper
= false
$hotPathTag
private
string
$hotPathTag
$inlinedDefinitions
private
SplObjectStorage|null
$inlinedDefinitions
= null
$inlinedRequires
private
array<string|int, mixed>
$inlinedRequires
= []
$inlineFactories
private
bool
$inlineFactories
$inlineRequires
private
bool
$inlineRequires
$locatedIds
private
array<string|int, mixed>
$locatedIds
= []
$namespace
private
string
$namespace
$preload
private
array<string|int, mixed>
$preload
= []
$preloadTags
private
array<string|int, mixed>
$preloadTags
$proxyDumper
private
DumperInterface
$proxyDumper
$referenceVariables
private
array<string|int, mixed>|null
$referenceVariables
= null
$reservedVariables
private
array<string|int, mixed>
$reservedVariables
= ['instance', 'class', 'this', 'container']
$serviceCalls
private
array<string|int, mixed>|null
$serviceCalls
= null
$serviceIdToMethodNameMap
private
array<string|int, mixed>
$serviceIdToMethodNameMap
$serviceLocatorTag
private
string
$serviceLocatorTag
$singleUsePrivateIds
private
array<string|int, mixed>
$singleUsePrivateIds
= []
$targetDirMaxMatches
private
int
$targetDirMaxMatches
$targetDirRegex
private
string|null
$targetDirRegex
= null
$usedMethodNames
private
array<string|int, mixed>
$usedMethodNames
$variableCount
private
int
$variableCount
Methods
__construct()
public
__construct(ContainerBuilder $container) : mixed
Parameters
- $container : ContainerBuilder
dump()
Dumps the service container as a PHP class.
public
dump([array<string|int, mixed> $options = [] ]) : string|array<string|int, mixed>
Available options:
- class: The class name
- base_class: The base class name
- namespace: The class namespace
- as_files: To split the container in several files
Parameters
- $options : array<string|int, mixed> = []
Tags
Return values
string|array<string|int, mixed> —A PHP class representing the service container or an array of PHP files if the "as_files" option is set
setProxyDumper()
Sets the dumper to be used when dumping proxies in the generated container.
public
setProxyDumper(DumperInterface $proxyDumper) : mixed
Parameters
- $proxyDumper : DumperInterface
addAliases()
private
addAliases() : string
Return values
stringaddCircularReferences()
private
addCircularReferences(string $sourceId, array<string|int, mixed> $currentPath, bool $byConstructor) : mixed
Parameters
- $sourceId : string
- $currentPath : array<string|int, mixed>
- $byConstructor : bool
addDefaultParametersMethod()
private
addDefaultParametersMethod() : string
Return values
stringaddDeprecatedAliases()
private
addDeprecatedAliases() : string
Return values
stringaddFileMap()
private
addFileMap() : string
Return values
stringaddInlineReference()
private
addInlineReference(string $id, Definition $definition, string $targetId, bool $forConstructor) : string
Parameters
- $id : string
- $definition : Definition
- $targetId : string
- $forConstructor : bool
Return values
stringaddInlineRequires()
private
addInlineRequires(bool $hasProxyClasses) : string
Parameters
- $hasProxyClasses : bool
Return values
stringaddInlineService()
private
addInlineService(string $id, Definition $definition[, Definition $inlineDef = null ][, bool $forConstructor = true ]) : string
Parameters
- $id : string
- $definition : Definition
- $inlineDef : Definition = null
- $forConstructor : bool = true
Return values
stringaddInlineVariables()
private
addInlineVariables(string $id, Definition $definition, array<string|int, mixed> $arguments, bool $forConstructor) : string
Parameters
- $id : string
- $definition : Definition
- $arguments : array<string|int, mixed>
- $forConstructor : bool
Return values
stringaddMethodMap()
private
addMethodMap() : string
Return values
stringaddNewInstance()
private
addNewInstance(Definition $definition[, string $return = '' ][, string $id = null ]) : string
Parameters
- $definition : Definition
- $return : string = ''
- $id : string = null
Return values
stringaddRemovedIds()
private
addRemovedIds() : string
Return values
stringaddService()
private
addService(string $id, Definition $definition) : array<string|int, mixed>
Parameters
- $id : string
- $definition : Definition
Return values
array<string|int, mixed>addServiceConfigurator()
private
addServiceConfigurator(Definition $definition[, string $variableName = 'instance' ]) : string
Parameters
- $definition : Definition
- $variableName : string = 'instance'
Return values
stringaddServiceInclude()
private
addServiceInclude(string $cId, Definition $definition) : string
Parameters
- $cId : string
- $definition : Definition
Return values
stringaddServiceInstance()
private
addServiceInstance(string $id, Definition $definition, bool $isSimpleInstance) : string
Parameters
- $id : string
- $definition : Definition
- $isSimpleInstance : bool
Tags
Return values
stringaddServiceMethodCalls()
private
addServiceMethodCalls(Definition $definition, string $variableName, string|null $sharedNonLazyId) : string
Parameters
- $definition : Definition
- $variableName : string
- $sharedNonLazyId : string|null
Return values
stringaddServiceProperties()
private
addServiceProperties(Definition $definition[, string $variableName = 'instance' ]) : string
Parameters
- $definition : Definition
- $variableName : string = 'instance'
Return values
stringaddServices()
private
addServices([array<string|int, mixed> &$services = null ]) : string
Parameters
- $services : array<string|int, mixed> = null
Return values
stringaddSyntheticIds()
private
addSyntheticIds() : string
Return values
stringanalyzeReferences()
private
analyzeReferences() : mixed
collectCircularReferences()
private
collectCircularReferences(string $sourceId, array<string|int, mixed> $edges, array<string|int, mixed> &$checkedNodes[, array<string|int, mixed> &$loops = [] ][, array<string|int, mixed> $path = [] ][, bool $byConstructor = true ]) : void
Parameters
- $sourceId : string
- $edges : array<string|int, mixed>
- $checkedNodes : array<string|int, mixed>
- $loops : array<string|int, mixed> = []
- $path : array<string|int, mixed> = []
- $byConstructor : bool = true
collectLineage()
private
collectLineage(string $class, array<string|int, mixed> &$lineage) : mixed
Parameters
- $class : string
- $lineage : array<string|int, mixed>
doExport()
private
doExport(mixed $value[, bool $resolveEnv = false ]) : mixed
Parameters
- $value : mixed
- $resolveEnv : bool = false
dumpLiteralClass()
Dumps a string to a literal (aka PHP Code) class value.
private
dumpLiteralClass(string $class) : string
Parameters
- $class : string
Tags
Return values
stringdumpParameter()
private
dumpParameter(string $name) : string
Parameters
- $name : string
Return values
stringdumpValue()
private
dumpValue(mixed $value[, bool $interpolate = true ]) : string
Parameters
- $value : mixed
- $interpolate : bool = true
Tags
Return values
stringendClass()
private
endClass() : string
Return values
stringexport()
private
export(mixed $value) : mixed
Parameters
- $value : mixed
exportParameters()
private
exportParameters(array<string|int, mixed> $parameters[, string $path = '' ][, int $indent = 12 ][, bool &$hasEnum = false ]) : string
Parameters
- $parameters : array<string|int, mixed>
- $path : string = ''
- $indent : int = 12
- $hasEnum : bool = false
Tags
Return values
stringgenerateMethodName()
private
generateMethodName(string $id) : string
Parameters
- $id : string
Tags
Return values
stringgenerateProxyClasses()
private
generateProxyClasses() : array<string|int, mixed>
Return values
array<string|int, mixed>generateServiceFiles()
private
generateServiceFiles(array<string|int, mixed> $services) : iterable<string|int, mixed>
Parameters
- $services : array<string|int, mixed>
Return values
iterable<string|int, mixed>getAutoloadFile()
private
getAutoloadFile() : string|null
Return values
string|nullgetClasses()
private
getClasses(Definition $definition, string $id) : array<string|int, mixed>
Parameters
- $definition : Definition
- $id : string
Return values
array<string|int, mixed>getDefinitionsFromArguments()
private
getDefinitionsFromArguments(array<string|int, mixed> $arguments[, SplObjectStorage $definitions = null ][, array<string|int, mixed> &$calls = [] ][, bool $byConstructor = null ]) : SplObjectStorage
Parameters
- $arguments : array<string|int, mixed>
- $definitions : SplObjectStorage = null
- $calls : array<string|int, mixed> = []
- $byConstructor : bool = null
Return values
SplObjectStoragegetExpressionLanguage()
private
getExpressionLanguage() : ExpressionLanguage
Return values
ExpressionLanguagegetNextVariableName()
private
getNextVariableName() : string
Return values
stringgetProxyDumper()
Retrieves the currently set proxy dumper or instantiates one.
private
getProxyDumper() : DumperInterface
Return values
DumperInterfacegetServiceCall()
private
getServiceCall(string $id[, Reference $reference = null ]) : string
Parameters
- $id : string
- $reference : Reference = null
Return values
stringgetServiceConditionals()
private
getServiceConditionals(mixed $value) : string
Parameters
- $value : mixed
Return values
stringinitializeMethodNamesMap()
Initializes the method names map to avoid conflicts with the Container methods.
private
initializeMethodNamesMap(string $class) : mixed
Parameters
- $class : string
isHotPath()
private
isHotPath(Definition $definition) : bool
Parameters
- $definition : Definition
Return values
boolisSingleUsePrivateNode()
private
isSingleUsePrivateNode(ServiceReferenceGraphNode $node) : bool
Parameters
- $node : ServiceReferenceGraphNode
Return values
boolisTrivialInstance()
private
isTrivialInstance(Definition $definition) : bool
Parameters
- $definition : Definition
Return values
boolstartClass()
private
startClass(string $class, string $baseClass, bool $hasProxyClasses) : string
Parameters
- $class : string
- $baseClass : string
- $hasProxyClasses : bool
Return values
stringwrapServiceConditionals()
private
wrapServiceConditionals(mixed $value, string $code) : string
Parameters
- $value : mixed
- $code : string