HumHub Documentation (unofficial)

ValidatorPluginManager extends AbstractPluginManager
in package

Abstract plugin manager.

Tags
link
ConfigInterface
link
ServiceManager
psalm-import-type

ServiceManagerConfiguration from ServiceManager

psalm-import-type

FactoriesConfigurationType from ConfigInterface

template

InstanceType of ValidatorInterface

extends

AbstractPluginManager<InstanceType>

Table of Contents

Properties

$abstractFactories  : array<string|int, AbstractFactoryInterface>
$aliases  : array<string|int, string>
Default set of aliases
$allowOverride  : bool
Whether or not changes may be made to this instance.
$autoAddInvokableClass  : bool
Whether or not to auto-add a FQCN as an invokable if it exists.
$configured  : bool
Service manager was already configured?
$creationContext  : ContainerInterface
$delegators  : array<string|int, array<string|int, string>>|array<string|int, array<string|int, DelegatorFactoryInterface>>
$factories  : FactoriesConfigurationType
Default set of factories
$initializers  : array<string|int, InitializerInterface>|array<string|int, callable>
$instanceOf  : string
Default instance type
$lazyServices  : array<string|int, mixed>
$services  : array<string, array<string|int, mixed>|object>
A list of already loaded services (this act as a local cache)
$shareByDefault  : bool
Whether or not to share by default; default to false (v2)
$shared  : array<string, bool>
Enable/disable shared instances by service name.
$sharedByDefault  : bool
Whether or not to share by default; default to false (v3)
$cachedAbstractFactories  : array<string|int, mixed>
Cached abstract factories from string.
$lazyServicesDelegator  : LazyServiceFactory|null

Methods

__construct()  : mixed
Constructor
addAbstractFactory()  : mixed
Add an abstract factory for resolving services.
addDelegator()  : mixed
Add a delegator for a given service.
addInitializer()  : mixed
Add an initializer.
build()  : mixed
Build a service by its name, using optional options (such services are NEVER cached).
configure()  : self
Override configure() to validate service instances.
get()  : mixed
Finds an entry of the container by its identifier and returns it.
getAllowOverride()  : bool
Retrieve the flag indicating immutability status.
getServiceLocator()  : ContainerInterface
Implemented for backwards compatibility with previous plugin managers only.
has()  : bool
Returns true if the container can return an entry for the given identifier.
injectTranslator()  : void
Inject a validator instance with the registered translator
injectValidatorPluginManager()  : void
Inject a validator plugin manager
mapLazyService()  : mixed
Create a lazy service mapping to a class.
setAlias()  : mixed
Add an alias.
setAllowOverride()  : mixed
Indicate whether or not the instance is immutable.
setFactory()  : void
Specify a factory for a given service name.
setInvokableClass()  : mixed
Add an invokable class mapping.
setService()  : mixed
Override setService for additional plugin validation.
setServiceLocator()  : void
Implemented for backwards compatibility only.
setShared()  : mixed
Add a service sharing rule.
validate()  : void
Validate plugin instance
validatePlugin()  : void
For v2 compatibility: validate plugin instance.
abstractFactoryCanCreate()  : bool
Check if an abstract factory exists that can create a service for the given name.
assertCallableDelegatorFactory()  : void
createAliasesAndFactoriesForInvokables()  : array<string, string>
Create aliases and factories for invokable classes.
createDelegatorFromName()  : object
createLazyServiceDelegatorFactory()  : LazyServiceFactory
Create the lazy services delegator factory.
doCreate()  : object
Create a new instance with an already resolved name
getFactory()  : callable
Get a factory for the given service name
mapAliasesToTargets()  : void
Assuming that all provided alias keys are valid resolve them.
mapAliasToTarget()  : void
Assuming that the alias name is valid (see above) resolve/add it.
mergeDelegators()  : array<string|int, mixed>
Merge delegators avoiding multiple same delegators for the same service.
resolveAbstractFactoryInstance()  : void
Instantiate abstract factories in order to avoid checks during service construction.
resolveInitializers()  : void
Instantiate initializers for to avoid checks during service construction.
staticServiceOrFactoryCanCreate()  : bool
Check if a static service or factory exists for the given name.
validateServiceNames()  : void
Determine if a service for any name provided by a service manager configuration(services, aliases, factories, ...) already exists, and if it exists, determine if is it allowed to get overriden.

Properties

$aliases

Default set of aliases

protected array<string|int, string> $aliases = [ 'alnum' => \Laminas\I18n\Validator\Alnum::class, 'Alnum' => \Laminas\I18n\Validator\Alnum::class, 'alpha' => \Laminas\I18n\Validator\Alpha::class, 'Alpha' => \Laminas\I18n\Validator\Alpha::class, 'barcode' => \Laminas\Validator\Barcode::class, 'Barcode' => \Laminas\Validator\Barcode::class, 'between' => \Laminas\Validator\Between::class, 'Between' => \Laminas\Validator\Between::class, 'BIC' => \Laminas\Validator\BusinessIdentifierCode::class, 'bic' => \Laminas\Validator\BusinessIdentifierCode::class, 'bitwise' => \Laminas\Validator\Bitwise::class, 'Bitwise' => \Laminas\Validator\Bitwise::class, 'BusinessIdentifierCode' => \Laminas\Validator\BusinessIdentifierCode::class, 'businessidentifiercode' => \Laminas\Validator\BusinessIdentifierCode::class, 'callback' => \Laminas\Validator\Callback::class, 'Callback' => \Laminas\Validator\Callback::class, 'creditcard' => \Laminas\Validator\CreditCard::class, 'creditCard' => \Laminas\Validator\CreditCard::class, 'CreditCard' => \Laminas\Validator\CreditCard::class, 'csrf' => \Laminas\Validator\Csrf::class, 'Csrf' => \Laminas\Validator\Csrf::class, 'date' => \Laminas\Validator\Date::class, 'Date' => \Laminas\Validator\Date::class, 'datestep' => \Laminas\Validator\DateStep::class, 'dateStep' => \Laminas\Validator\DateStep::class, 'DateStep' => \Laminas\Validator\DateStep::class, 'datetime' => \Laminas\I18n\Validator\DateTime::class, 'dateTime' => \Laminas\I18n\Validator\DateTime::class, 'DateTime' => \Laminas\I18n\Validator\DateTime::class, 'dbnorecordexists' => \Laminas\Validator\Db\NoRecordExists::class, 'dbNoRecordExists' => \Laminas\Validator\Db\NoRecordExists::class, 'DbNoRecordExists' => \Laminas\Validator\Db\NoRecordExists::class, 'dbrecordexists' => \Laminas\Validator\Db\RecordExists::class, 'dbRecordExists' => \Laminas\Validator\Db\RecordExists::class, 'DbRecordExists' => \Laminas\Validator\Db\RecordExists::class, 'digits' => \Laminas\Validator\Digits::class, 'Digits' => \Laminas\Validator\Digits::class, 'emailaddress' => \Laminas\Validator\EmailAddress::class, 'emailAddress' => \Laminas\Validator\EmailAddress::class, 'EmailAddress' => \Laminas\Validator\EmailAddress::class, 'explode' => \Laminas\Validator\Explode::class, 'Explode' => \Laminas\Validator\Explode::class, 'filecount' => \Laminas\Validator\File\Count::class, 'fileCount' => \Laminas\Validator\File\Count::class, 'FileCount' => \Laminas\Validator\File\Count::class, 'filecrc32' => \Laminas\Validator\File\Crc32::class, 'fileCrc32' => \Laminas\Validator\File\Crc32::class, 'FileCrc32' => \Laminas\Validator\File\Crc32::class, 'fileexcludeextension' => \Laminas\Validator\File\ExcludeExtension::class, 'fileExcludeExtension' => \Laminas\Validator\File\ExcludeExtension::class, 'FileExcludeExtension' => \Laminas\Validator\File\ExcludeExtension::class, 'fileexcludemimetype' => \Laminas\Validator\File\ExcludeMimeType::class, 'fileExcludeMimeType' => \Laminas\Validator\File\ExcludeMimeType::class, 'FileExcludeMimeType' => \Laminas\Validator\File\ExcludeMimeType::class, 'fileexists' => \Laminas\Validator\File\Exists::class, 'fileExists' => \Laminas\Validator\File\Exists::class, 'FileExists' => \Laminas\Validator\File\Exists::class, 'fileextension' => \Laminas\Validator\File\Extension::class, 'fileExtension' => \Laminas\Validator\File\Extension::class, 'FileExtension' => \Laminas\Validator\File\Extension::class, 'filefilessize' => \Laminas\Validator\File\FilesSize::class, 'fileFilesSize' => \Laminas\Validator\File\FilesSize::class, 'FileFilesSize' => \Laminas\Validator\File\FilesSize::class, 'filehash' => \Laminas\Validator\File\Hash::class, 'fileHash' => \Laminas\Validator\File\Hash::class, 'FileHash' => \Laminas\Validator\File\Hash::class, 'fileimagesize' => \Laminas\Validator\File\ImageSize::class, 'fileImageSize' => \Laminas\Validator\File\ImageSize::class, 'FileImageSize' => \Laminas\Validator\File\ImageSize::class, 'fileiscompressed' => \Laminas\Validator\File\IsCompressed::class, 'fileIsCompressed' => \Laminas\Validator\File\IsCompressed::class, 'FileIsCompressed' => \Laminas\Validator\File\IsCompressed::class, 'fileisimage' => \Laminas\Validator\File\IsImage::class, 'fileIsImage' => \Laminas\Validator\File\IsImage::class, 'FileIsImage' => \Laminas\Validator\File\IsImage::class, 'filemd5' => \Laminas\Validator\File\Md5::class, 'fileMd5' => \Laminas\Validator\File\Md5::class, 'FileMd5' => \Laminas\Validator\File\Md5::class, 'filemimetype' => \Laminas\Validator\File\MimeType::class, 'fileMimeType' => \Laminas\Validator\File\MimeType::class, 'FileMimeType' => \Laminas\Validator\File\MimeType::class, 'filenotexists' => \Laminas\Validator\File\NotExists::class, 'fileNotExists' => \Laminas\Validator\File\NotExists::class, 'FileNotExists' => \Laminas\Validator\File\NotExists::class, 'filesha1' => \Laminas\Validator\File\Sha1::class, 'fileSha1' => \Laminas\Validator\File\Sha1::class, 'FileSha1' => \Laminas\Validator\File\Sha1::class, 'filesize' => \Laminas\Validator\File\Size::class, 'fileSize' => \Laminas\Validator\File\Size::class, 'FileSize' => \Laminas\Validator\File\Size::class, 'fileupload' => \Laminas\Validator\File\Upload::class, 'fileUpload' => \Laminas\Validator\File\Upload::class, 'FileUpload' => \Laminas\Validator\File\Upload::class, 'fileuploadfile' => \Laminas\Validator\File\UploadFile::class, 'fileUploadFile' => \Laminas\Validator\File\UploadFile::class, 'FileUploadFile' => \Laminas\Validator\File\UploadFile::class, 'filewordcount' => \Laminas\Validator\File\WordCount::class, 'fileWordCount' => \Laminas\Validator\File\WordCount::class, 'FileWordCount' => \Laminas\Validator\File\WordCount::class, 'float' => \Laminas\I18n\Validator\IsFloat::class, 'Float' => \Laminas\I18n\Validator\IsFloat::class, 'gpspoint' => \Laminas\Validator\GpsPoint::class, 'gpsPoint' => \Laminas\Validator\GpsPoint::class, 'GpsPoint' => \Laminas\Validator\GpsPoint::class, 'greaterthan' => \Laminas\Validator\GreaterThan::class, 'greaterThan' => \Laminas\Validator\GreaterThan::class, 'GreaterThan' => \Laminas\Validator\GreaterThan::class, 'hex' => \Laminas\Validator\Hex::class, 'Hex' => \Laminas\Validator\Hex::class, 'hostname' => \Laminas\Validator\Hostname::class, 'Hostname' => \Laminas\Validator\Hostname::class, 'iban' => \Laminas\Validator\Iban::class, 'Iban' => \Laminas\Validator\Iban::class, 'identical' => \Laminas\Validator\Identical::class, 'Identical' => \Laminas\Validator\Identical::class, 'inarray' => \Laminas\Validator\InArray::class, 'inArray' => \Laminas\Validator\InArray::class, 'InArray' => \Laminas\Validator\InArray::class, 'int' => \Laminas\I18n\Validator\IsInt::class, 'Int' => \Laminas\I18n\Validator\IsInt::class, 'ip' => \Laminas\Validator\Ip::class, 'Ip' => \Laminas\Validator\Ip::class, 'isbn' => \Laminas\Validator\Isbn::class, 'Isbn' => \Laminas\Validator\Isbn::class, 'isCountable' => \Laminas\Validator\IsCountable::class, 'IsCountable' => \Laminas\Validator\IsCountable::class, 'iscountable' => \Laminas\Validator\IsCountable::class, 'isfloat' => \Laminas\I18n\Validator\IsFloat::class, 'isFloat' => \Laminas\I18n\Validator\IsFloat::class, 'IsFloat' => \Laminas\I18n\Validator\IsFloat::class, 'isinstanceof' => \Laminas\Validator\IsInstanceOf::class, 'isInstanceOf' => \Laminas\Validator\IsInstanceOf::class, 'IsInstanceOf' => \Laminas\Validator\IsInstanceOf::class, 'isint' => \Laminas\I18n\Validator\IsInt::class, 'isInt' => \Laminas\I18n\Validator\IsInt::class, 'IsInt' => \Laminas\I18n\Validator\IsInt::class, 'lessthan' => \Laminas\Validator\LessThan::class, 'lessThan' => \Laminas\Validator\LessThan::class, 'LessThan' => \Laminas\Validator\LessThan::class, 'notempty' => \Laminas\Validator\NotEmpty::class, 'notEmpty' => \Laminas\Validator\NotEmpty::class, 'NotEmpty' => \Laminas\Validator\NotEmpty::class, 'phonenumber' => \Laminas\I18n\Validator\PhoneNumber::class, 'phoneNumber' => \Laminas\I18n\Validator\PhoneNumber::class, 'PhoneNumber' => \Laminas\I18n\Validator\PhoneNumber::class, 'postcode' => \Laminas\I18n\Validator\PostCode::class, 'postCode' => \Laminas\I18n\Validator\PostCode::class, 'PostCode' => \Laminas\I18n\Validator\PostCode::class, 'regex' => \Laminas\Validator\Regex::class, 'Regex' => \Laminas\Validator\Regex::class, 'sitemapchangefreq' => \Laminas\Validator\Sitemap\Changefreq::class, 'sitemapChangefreq' => \Laminas\Validator\Sitemap\Changefreq::class, 'SitemapChangefreq' => \Laminas\Validator\Sitemap\Changefreq::class, 'sitemaplastmod' => \Laminas\Validator\Sitemap\Lastmod::class, 'sitemapLastmod' => \Laminas\Validator\Sitemap\Lastmod::class, 'SitemapLastmod' => \Laminas\Validator\Sitemap\Lastmod::class, 'sitemaploc' => \Laminas\Validator\Sitemap\Loc::class, 'sitemapLoc' => \Laminas\Validator\Sitemap\Loc::class, 'SitemapLoc' => \Laminas\Validator\Sitemap\Loc::class, 'sitemappriority' => \Laminas\Validator\Sitemap\Priority::class, 'sitemapPriority' => \Laminas\Validator\Sitemap\Priority::class, 'SitemapPriority' => \Laminas\Validator\Sitemap\Priority::class, 'stringlength' => \Laminas\Validator\StringLength::class, 'stringLength' => \Laminas\Validator\StringLength::class, 'StringLength' => \Laminas\Validator\StringLength::class, 'step' => \Laminas\Validator\Step::class, 'Step' => \Laminas\Validator\Step::class, 'timezone' => \Laminas\Validator\Timezone::class, 'Timezone' => \Laminas\Validator\Timezone::class, 'uri' => \Laminas\Validator\Uri::class, 'Uri' => \Laminas\Validator\Uri::class, 'uuid' => \Laminas\Validator\Uuid::class, 'Uuid' => \Laminas\Validator\Uuid::class, // Legacy Zend Framework aliases \Zend\I18n\Validator\Alnum::class => \Laminas\I18n\Validator\Alnum::class, \Zend\I18n\Validator\Alpha::class => \Laminas\I18n\Validator\Alpha::class, \Zend\Validator\Barcode::class => \Laminas\Validator\Barcode::class, \Zend\Validator\Between::class => \Laminas\Validator\Between::class, \Zend\Validator\Bitwise::class => \Laminas\Validator\Bitwise::class, \Zend\Validator\Callback::class => \Laminas\Validator\Callback::class, \Zend\Validator\CreditCard::class => \Laminas\Validator\CreditCard::class, \Zend\Validator\Csrf::class => \Laminas\Validator\Csrf::class, \Zend\Validator\DateStep::class => \Laminas\Validator\DateStep::class, \Zend\Validator\Date::class => \Laminas\Validator\Date::class, \Zend\I18n\Validator\DateTime::class => \Laminas\I18n\Validator\DateTime::class, \Zend\Validator\Db\NoRecordExists::class => \Laminas\Validator\Db\NoRecordExists::class, \Zend\Validator\Db\RecordExists::class => \Laminas\Validator\Db\RecordExists::class, \Zend\Validator\Digits::class => \Laminas\Validator\Digits::class, \Zend\Validator\EmailAddress::class => \Laminas\Validator\EmailAddress::class, \Zend\Validator\Explode::class => \Laminas\Validator\Explode::class, \Zend\Validator\File\Count::class => \Laminas\Validator\File\Count::class, \Zend\Validator\File\Crc32::class => \Laminas\Validator\File\Crc32::class, \Zend\Validator\File\ExcludeExtension::class => \Laminas\Validator\File\ExcludeExtension::class, \Zend\Validator\File\ExcludeMimeType::class => \Laminas\Validator\File\ExcludeMimeType::class, \Zend\Validator\File\Exists::class => \Laminas\Validator\File\Exists::class, \Zend\Validator\File\Extension::class => \Laminas\Validator\File\Extension::class, \Zend\Validator\File\FilesSize::class => \Laminas\Validator\File\FilesSize::class, \Zend\Validator\File\Hash::class => \Laminas\Validator\File\Hash::class, \Zend\Validator\File\ImageSize::class => \Laminas\Validator\File\ImageSize::class, \Zend\Validator\File\IsCompressed::class => \Laminas\Validator\File\IsCompressed::class, \Zend\Validator\File\IsImage::class => \Laminas\Validator\File\IsImage::class, \Zend\Validator\File\Md5::class => \Laminas\Validator\File\Md5::class, \Zend\Validator\File\MimeType::class => \Laminas\Validator\File\MimeType::class, \Zend\Validator\File\NotExists::class => \Laminas\Validator\File\NotExists::class, \Zend\Validator\File\Sha1::class => \Laminas\Validator\File\Sha1::class, \Zend\Validator\File\Size::class => \Laminas\Validator\File\Size::class, \Zend\Validator\File\Upload::class => \Laminas\Validator\File\Upload::class, \Zend\Validator\File\UploadFile::class => \Laminas\Validator\File\UploadFile::class, \Zend\Validator\File\WordCount::class => \Laminas\Validator\File\WordCount::class, \Zend\I18n\Validator\IsFloat::class => \Laminas\I18n\Validator\IsFloat::class, \Zend\Validator\GpsPoint::class => \Laminas\Validator\GpsPoint::class, \Zend\Validator\GreaterThan::class => \Laminas\Validator\GreaterThan::class, \Zend\Validator\Hex::class => \Laminas\Validator\Hex::class, \Zend\Validator\Hostname::class => \Laminas\Validator\Hostname::class, \Zend\Validator\Iban::class => \Laminas\Validator\Iban::class, \Zend\Validator\Identical::class => \Laminas\Validator\Identical::class, \Zend\Validator\InArray::class => \Laminas\Validator\InArray::class, \Zend\I18n\Validator\IsInt::class => \Laminas\I18n\Validator\IsInt::class, \Zend\Validator\Ip::class => \Laminas\Validator\Ip::class, \Zend\Validator\Isbn::class => \Laminas\Validator\Isbn::class, \Zend\Validator\IsInstanceOf::class => \Laminas\Validator\IsInstanceOf::class, \Zend\Validator\LessThan::class => \Laminas\Validator\LessThan::class, \Zend\Validator\NotEmpty::class => \Laminas\Validator\NotEmpty::class, \Zend\I18n\Validator\PhoneNumber::class => \Laminas\I18n\Validator\PhoneNumber::class, \Zend\I18n\Validator\PostCode::class => \Laminas\I18n\Validator\PostCode::class, \Zend\Validator\Regex::class => \Laminas\Validator\Regex::class, \Zend\Validator\Sitemap\Changefreq::class => \Laminas\Validator\Sitemap\Changefreq::class, \Zend\Validator\Sitemap\Lastmod::class => \Laminas\Validator\Sitemap\Lastmod::class, \Zend\Validator\Sitemap\Loc::class => \Laminas\Validator\Sitemap\Loc::class, \Zend\Validator\Sitemap\Priority::class => \Laminas\Validator\Sitemap\Priority::class, \Zend\Validator\StringLength::class => \Laminas\Validator\StringLength::class, \Zend\Validator\Step::class => \Laminas\Validator\Step::class, \Zend\Validator\Timezone::class => \Laminas\Validator\Timezone::class, \Zend\Validator\Uri::class => \Laminas\Validator\Uri::class, \Zend\Validator\Uuid::class => \Laminas\Validator\Uuid::class, // v2 normalized FQCNs 'zendvalidatorbarcode' => \Laminas\Validator\Barcode::class, 'zendvalidatorbetween' => \Laminas\Validator\Between::class, 'zendvalidatorbitwise' => \Laminas\Validator\Bitwise::class, 'zendvalidatorcallback' => \Laminas\Validator\Callback::class, 'zendvalidatorcreditcard' => \Laminas\Validator\CreditCard::class, 'zendvalidatorcsrf' => \Laminas\Validator\Csrf::class, 'zendvalidatordatestep' => \Laminas\Validator\DateStep::class, 'zendvalidatordate' => \Laminas\Validator\Date::class, 'zendvalidatordbnorecordexists' => \Laminas\Validator\Db\NoRecordExists::class, 'zendvalidatordbrecordexists' => \Laminas\Validator\Db\RecordExists::class, 'zendvalidatordigits' => \Laminas\Validator\Digits::class, 'zendvalidatoremailaddress' => \Laminas\Validator\EmailAddress::class, 'zendvalidatorexplode' => \Laminas\Validator\Explode::class, 'zendvalidatorfilecount' => \Laminas\Validator\File\Count::class, 'zendvalidatorfilecrc32' => \Laminas\Validator\File\Crc32::class, 'zendvalidatorfileexcludeextension' => \Laminas\Validator\File\ExcludeExtension::class, 'zendvalidatorfileexcludemimetype' => \Laminas\Validator\File\ExcludeMimeType::class, 'zendvalidatorfileexists' => \Laminas\Validator\File\Exists::class, 'zendvalidatorfileextension' => \Laminas\Validator\File\Extension::class, 'zendvalidatorfilefilessize' => \Laminas\Validator\File\FilesSize::class, 'zendvalidatorfilehash' => \Laminas\Validator\File\Hash::class, 'zendvalidatorfileimagesize' => \Laminas\Validator\File\ImageSize::class, 'zendvalidatorfileiscompressed' => \Laminas\Validator\File\IsCompressed::class, 'zendvalidatorfileisimage' => \Laminas\Validator\File\IsImage::class, 'zendvalidatorfilemd5' => \Laminas\Validator\File\Md5::class, 'zendvalidatorfilemimetype' => \Laminas\Validator\File\MimeType::class, 'zendvalidatorfilenotexists' => \Laminas\Validator\File\NotExists::class, 'zendvalidatorfilesha1' => \Laminas\Validator\File\Sha1::class, 'zendvalidatorfilesize' => \Laminas\Validator\File\Size::class, 'zendvalidatorfileupload' => \Laminas\Validator\File\Upload::class, 'zendvalidatorfileuploadfile' => \Laminas\Validator\File\UploadFile::class, 'zendvalidatorfilewordcount' => \Laminas\Validator\File\WordCount::class, 'zendvalidatorgpspoint' => \Laminas\Validator\GpsPoint::class, 'zendvalidatorgreaterthan' => \Laminas\Validator\GreaterThan::class, 'zendvalidatorhex' => \Laminas\Validator\Hex::class, 'zendvalidatorhostname' => \Laminas\Validator\Hostname::class, 'zendi18nvalidatoralnum' => \Laminas\I18n\Validator\Alnum::class, 'zendi18nvalidatoralpha' => \Laminas\I18n\Validator\Alpha::class, 'zendi18nvalidatordatetime' => \Laminas\I18n\Validator\DateTime::class, 'zendi18nvalidatorisfloat' => \Laminas\I18n\Validator\IsFloat::class, 'zendi18nvalidatorisint' => \Laminas\I18n\Validator\IsInt::class, 'zendi18nvalidatorphonenumber' => \Laminas\I18n\Validator\PhoneNumber::class, 'zendi18nvalidatorpostcode' => \Laminas\I18n\Validator\PostCode::class, 'zendvalidatoriban' => \Laminas\Validator\Iban::class, 'zendvalidatoridentical' => \Laminas\Validator\Identical::class, 'zendvalidatorinarray' => \Laminas\Validator\InArray::class, 'zendvalidatorip' => \Laminas\Validator\Ip::class, 'zendvalidatorisbn' => \Laminas\Validator\Isbn::class, 'zendvalidatorisinstanceof' => \Laminas\Validator\IsInstanceOf::class, 'zendvalidatorlessthan' => \Laminas\Validator\LessThan::class, 'zendvalidatornotempty' => \Laminas\Validator\NotEmpty::class, 'zendvalidatorregex' => \Laminas\Validator\Regex::class, 'zendvalidatorsitemapchangefreq' => \Laminas\Validator\Sitemap\Changefreq::class, 'zendvalidatorsitemaplastmod' => \Laminas\Validator\Sitemap\Lastmod::class, 'zendvalidatorsitemaploc' => \Laminas\Validator\Sitemap\Loc::class, 'zendvalidatorsitemappriority' => \Laminas\Validator\Sitemap\Priority::class, 'zendvalidatorstringlength' => \Laminas\Validator\StringLength::class, 'zendvalidatorstep' => \Laminas\Validator\Step::class, 'zendvalidatortimezone' => \Laminas\Validator\Timezone::class, 'zendvalidatoruri' => \Laminas\Validator\Uri::class, 'zendvalidatoruuid' => \Laminas\Validator\Uuid::class, ]
Tags
psalm-suppress

UndefinedClass

$allowOverride

Whether or not changes may be made to this instance.

protected bool $allowOverride = false

$autoAddInvokableClass

Whether or not to auto-add a FQCN as an invokable if it exists.

protected bool $autoAddInvokableClass = true

$configured

Service manager was already configured?

protected bool $configured = false

$delegators

protected array<string|int, array<string|int, string>>|array<string|int, array<string|int, DelegatorFactoryInterface>> $delegators = []
Tags
psalm-var

DelegatorsConfigurationType

$factories

Default set of factories

protected FactoriesConfigurationType $factories = [ \Laminas\I18n\Validator\Alnum::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\I18n\Validator\Alpha::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Barcode::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Between::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Bitwise::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\BusinessIdentifierCode::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Callback::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\CreditCard::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Csrf::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\DateStep::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Date::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\I18n\Validator\DateTime::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Db\NoRecordExists::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Db\RecordExists::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Digits::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\EmailAddress::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Explode::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\Count::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\Crc32::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\ExcludeExtension::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\ExcludeMimeType::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\Exists::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\Extension::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\FilesSize::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\Hash::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\ImageSize::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\IsCompressed::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\IsImage::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\Md5::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\MimeType::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\NotExists::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\Sha1::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\Size::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\Upload::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\UploadFile::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\File\WordCount::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\I18n\Validator\IsFloat::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\GpsPoint::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\GreaterThan::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Hex::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Hostname::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Iban::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Identical::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\InArray::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\I18n\Validator\IsInt::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Ip::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Isbn::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\IsCountable::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\IsInstanceOf::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\IsJsonString::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\LessThan::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\NotEmpty::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\I18n\Validator\PhoneNumber::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\I18n\Validator\PostCode::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Regex::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Sitemap\Changefreq::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Sitemap\Lastmod::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Sitemap\Loc::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Sitemap\Priority::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\StringLength::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Step::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Timezone::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Uri::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, \Laminas\Validator\Uuid::class => \Laminas\ServiceManager\Factory\InvokableFactory::class, // v2 canonical FQCNs 'laminasvalidatorbarcodecode25interleaved' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodecode25' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodecode39ext' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodecode39' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodecode93ext' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodecode93' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeean12' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeean13' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeean14' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeean18' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeean2' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeean5' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeean8' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodegtin12' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodegtin13' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodegtin14' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeidentcode' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeintelligentmail' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeissn' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeitf14' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeleitcode' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeplanet' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodepostnet' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcoderoyalmail' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodesscc' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeupca' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcodeupce' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbarcode' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbetween' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorbitwise' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorcallback' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorcreditcard' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorcsrf' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatordatestep' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatordate' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatordbnorecordexists' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatordbrecordexists' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatordigits' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatoremailaddress' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorexplode' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilecount' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilecrc32' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfileexcludeextension' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfileexcludemimetype' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfileexists' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfileextension' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilefilessize' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilehash' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfileimagesize' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfileiscompressed' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfileisimage' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilemd5' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilemimetype' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilenotexists' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilesha1' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilesize' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfileupload' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfileuploadfile' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorfilewordcount' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorgpspoint' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorgreaterthan' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorhex' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorhostname' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasi18nvalidatoralnum' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasi18nvalidatoralpha' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasi18nvalidatordatetime' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasi18nvalidatorisfloat' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasi18nvalidatorisint' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasi18nvalidatorphonenumber' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasi18nvalidatorpostcode' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatoriban' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatoridentical' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorinarray' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorip' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorisbn' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatoriscountable' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorisinstanceof' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorlessthan' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatornotempty' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorregex' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorsitemapchangefreq' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorsitemaplastmod' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorsitemaploc' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorsitemappriority' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorstringlength' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatorstep' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatortimezone' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatoruri' => \Laminas\ServiceManager\Factory\InvokableFactory::class, 'laminasvalidatoruuid' => \Laminas\ServiceManager\Factory\InvokableFactory::class, ]

$instanceOf

Default instance type

protected string $instanceOf = \Laminas\Validator\ValidatorInterface::class

$lazyServices

protected array<string|int, mixed> $lazyServices = []
Tags
psalm-var

LazyServicesConfigurationType

$services

A list of already loaded services (this act as a local cache)

protected array<string, array<string|int, mixed>|object> $services = []

$shareByDefault

Whether or not to share by default; default to false (v2)

protected bool $shareByDefault = false

$shared

Enable/disable shared instances by service name.

protected array<string, bool> $shared = []

Example configuration:

'shared' => [ MyService::class => true, // will be shared, even if "sharedByDefault" is false MyOtherService::class => false // won't be shared, even if "sharedByDefault" is true ]

$sharedByDefault

Whether or not to share by default; default to false (v3)

protected bool $sharedByDefault = false

$cachedAbstractFactories

Cached abstract factories from string.

private array<string|int, mixed> $cachedAbstractFactories = []

Methods

__construct()

Constructor

public __construct([mixed $configOrContainerInstance = null ][, ServiceManagerConfiguration $v3config = [] ]) : mixed

After invoking parent constructor, add an initializer to inject the attached translator, if any, to the currently requested helper.

Parameters
$configOrContainerInstance : mixed = null
$v3config : ServiceManagerConfiguration = []

addAbstractFactory()

Add an abstract factory for resolving services.

public addAbstractFactory(string|AbstractFactoryInterface $factory) : mixed
Parameters
$factory : string|AbstractFactoryInterface

Abstract factory instance or class name.

Tags
psalm-param

class-string<Factory\AbstractFactoryInterface>|Factory\AbstractFactoryInterface $factory

addDelegator()

Add a delegator for a given service.

public addDelegator(string $name, string|callable|DelegatorFactoryInterface $factory) : mixed
Parameters
$name : string

Service name

$factory : string|callable|DelegatorFactoryInterface

Delegator factory to assign.

Tags
psalm-param

class-string<Factory\DelegatorFactoryInterface> |callable(ContainerInterface,string,callable,array|null) $factory

addInitializer()

Add an initializer.

public addInitializer(string|callable|InitializerInterface $initializer) : mixed
Parameters
$initializer : string|callable|InitializerInterface
Tags
psalm-param

class-string<Initializer\InitializerInterface> |callable(ContainerInterface,mixed):void |Initializer\InitializerInterface $initializer

build()

Build a service by its name, using optional options (such services are NEVER cached).

public build(mixed $name[, array<string|int, mixed>|null $options = null ]) : mixed
Parameters
$name : mixed
$options : array<string|int, mixed>|null = null

configure()

Override configure() to validate service instances.

public configure(array<string|int, mixed> $config) : self
Parameters
$config : array<string|int, mixed>
Tags
psalm-param

ServiceManagerConfiguration $config

throws
InvalidServiceException

If an instance passed in the services configuration is invalid for the plugin manager.

throws
ContainerModificationsNotAllowedException

If the allow override flag has been toggled off, and a service instanceexists for a given service.

Return values
self

get()

Finds an entry of the container by its identifier and returns it.

public get(InstanceType>|string $name[, null|array<string|int, mixed> $options = null ]) : mixed
Parameters
$name : InstanceType>|string

Service name of plugin to retrieve.

$options : null|array<string|int, mixed> = null

Options to use when creating the instance.

Tags
psalm-return

($name is class-string<InstanceType> ? InstanceType : mixed)

throws
ServiceNotFoundException

If the manager does not have a service definition for the instance, and the service is not auto-invokable.

throws
InvalidServiceException

If the plugin created is invalid for the plugin context.

getAllowOverride()

Retrieve the flag indicating immutability status.

public getAllowOverride() : bool
Return values
bool

getServiceLocator()

Implemented for backwards compatibility with previous plugin managers only.

public getServiceLocator() : ContainerInterface

Returns the creation context.

Tags
deprecated

since 3.0.0. Factories using 3.0 should use the container instance passed to the factory instead.

Return values
ContainerInterface

has()

Returns true if the container can return an entry for the given identifier.

public has(string|class-string $name) : bool
Parameters
$name : string|class-string
Return values
bool

mapLazyService()

Create a lazy service mapping to a class.

public mapLazyService(string $name[, null|string $class = null ]) : mixed
Parameters
$name : string

Service name to map

$class : null|string = null

Class to which to map; if not provided, $name will be used for the mapping.

setAllowOverride()

Indicate whether or not the instance is immutable.

public setAllowOverride(bool $flag) : mixed
Parameters
$flag : bool

setFactory()

Specify a factory for a given service name.

public setFactory(string $name, string|callable|FactoryInterface $factory) : void
Parameters
$name : string

Service name

$factory : string|callable|FactoryInterface

Factory to which to map. phpcs:disable Generic.Files.LineLength.TooLong

Tags
psalm-param

class-string<Factory\FactoryInterface>|callable(ContainerInterface,string,array|null):object|Factory\FactoryInterface $factory phpcs:enable Generic.Files.LineLength.TooLong

throws
ContainerModificationsNotAllowedException

If $name already exists as a service and overrides are disallowed.

setInvokableClass()

Add an invokable class mapping.

public setInvokableClass(string $name[, null|string $class = null ]) : mixed
Parameters
$name : string

Service name

$class : null|string = null

Class to which to map; if omitted, $name is assumed.

Tags
throws
ContainerModificationsNotAllowedException

If $name already exists as a service and overrides are disallowed.

setService()

Override setService for additional plugin validation.

public setService(string|InstanceType> $name, InstanceType $service) : mixed
Parameters
$name : string|InstanceType>
$service : InstanceType

setServiceLocator()

Implemented for backwards compatibility only.

public setServiceLocator(ContainerInterface $container) : void

Returns the creation context.

Parameters
$container : ContainerInterface
Tags
deprecated

since 3.0.0. The creation context should be passed during instantiation instead.

setShared()

Add a service sharing rule.

public setShared(string $name, bool $flag) : mixed
Parameters
$name : string

Service name

$flag : bool

Whether or not the service should be shared.

Tags
throws
ContainerModificationsNotAllowedException

If $name already exists as a service and overrides are disallowed.

validate()

Validate plugin instance

public validate(mixed $instance) : void
Parameters
$instance : mixed
Tags
psalm-assert

InstanceType $instance

validatePlugin()

For v2 compatibility: validate plugin instance.

public validatePlugin(mixed $plugin) : void

Proxies to validate().

Parameters
$plugin : mixed
Tags
throws
RuntimeException

abstractFactoryCanCreate()

Check if an abstract factory exists that can create a service for the given name.

private abstractFactoryCanCreate(string $name) : bool
Parameters
$name : string
Return values
bool

assertCallableDelegatorFactory()

private assertCallableDelegatorFactory(mixed $delegatorFactory) : void
Parameters
$delegatorFactory : mixed
Tags
psalm-param

mixed $delegatorFactory

psalm-assert

callable(ContainerInterface,string,callable():object,array|null):object $delegatorFactory

createAliasesAndFactoriesForInvokables()

Create aliases and factories for invokable classes.

private createAliasesAndFactoriesForInvokables(array<string, string> $invokables) : array<string, string>

If an invokable service name does not match the class it maps to, this creates an alias to the class (which will later be mapped as an invokable factory). The newly created aliases will be returned as an array.

Parameters
$invokables : array<string, string>
Return values
array<string, string>

createDelegatorFromName()

private createDelegatorFromName(string $name[, array<string|int, mixed>|null $options = null ]) : object
Parameters
$name : string
$options : array<string|int, mixed>|null = null
Return values
object

doCreate()

Create a new instance with an already resolved name

private doCreate(string $resolvedName[, array<string|int, mixed>|null $options = null ]) : object

This is a highly performance sensitive method, do not modify if you have not benchmarked it carefully

Parameters
$resolvedName : string
$options : array<string|int, mixed>|null = null
Tags
throws
ServiceNotFoundException

If unable to resolve the service.

throws
ServiceNotCreatedException

If an exception is raised when creating a service.

throws
ContainerExceptionInterface

If any other error occurs.

Return values
object

getFactory()

Get a factory for the given service name

private getFactory(string $name) : callable
Parameters
$name : string
Tags
psalm-return

(callable(ContainerInterface,string,array|null):object)|Factory\FactoryInterface

throws
ServiceNotFoundException
Return values
callable

mapAliasesToTargets()

Assuming that all provided alias keys are valid resolve them.

private mapAliasesToTargets() : void

This function maps $this->aliases in place.

This algorithm is an adaptated version of Tarjans Strongly Connected Components. Instead of returning the strongly connected components (i.e. cycles in our case), we throw. If nodes are not strongly connected (i.e. resolvable in our case), they get resolved.

This algorithm is fast for mass updates through configure(). It is not appropriate if just a single alias is added.

Tags
see
mapAliasToTarget

above

mapAliasToTarget()

Assuming that the alias name is valid (see above) resolve/add it.

private mapAliasToTarget(string $alias, string $target) : void

This is done differently from bulk mapping aliases for performance reasons, as the algorithms for mapping a single item efficiently are different from those of mapping many.

Parameters
$alias : string
$target : string

mergeDelegators()

Merge delegators avoiding multiple same delegators for the same service.

private mergeDelegators(array<string|int, mixed> $config) : array<string|int, mixed>

It works with strings and class instances. It's not possible to de-duple anonymous functions

Parameters
$config : array<string|int, mixed>
Tags
psalm-param

DelegatorsConfigurationType $config

psalm-return

DelegatorsConfigurationType

Return values
array<string|int, mixed>

resolveAbstractFactoryInstance()

Instantiate abstract factories in order to avoid checks during service construction.

private resolveAbstractFactoryInstance(string|AbstractFactoryInterface $abstractFactory) : void
Parameters
$abstractFactory : string|AbstractFactoryInterface
Tags
psalm-param

class-string<Factory\AbstractFactoryInterface>|Factory\AbstractFactoryInterface $abstractFactory

resolveInitializers()

Instantiate initializers for to avoid checks during service construction.

private resolveInitializers(array<string|int, mixed> $initializers) : void
Parameters
$initializers : array<string|int, mixed>
Tags
psalm-param

InitializersConfigurationType $initializers

staticServiceOrFactoryCanCreate()

Check if a static service or factory exists for the given name.

private staticServiceOrFactoryCanCreate(string $name) : bool
Parameters
$name : string
Return values
bool

validateServiceNames()

Determine if a service for any name provided by a service manager configuration(services, aliases, factories, ...) already exists, and if it exists, determine if is it allowed to get overriden.

private validateServiceNames(array<string|int, mixed> $config) : void

Validation in the context of this class means, that for a given service name we do not have a service instance in the cache OR override is explicitly allowed.

Parameters
$config : array<string|int, mixed>
Tags
psalm-param

ServiceManagerConfigurationType $config

throws
ContainerModificationsNotAllowedException

If any service key is invalid.


        
On this page

Search results