Background
Currently, laminas-servicemanager depends on container-interop/container-interop. This is because we were part of the working group for PSR-11, and chose to adapt our code to it before the specification stabilized and was accepted. Once it was, container-interop modified its interfaces such that they now extend the PSR-11 interfaces, and thus can be used anywhere PSR-11 is.
However, ultimately this means that we cannot update directly to PSR-11 without a backwards compatilibity break, as a number of our interfaces and implementations directly typehint against the container-interop interfaces still, and doing so would break userland implementations and extensions.
Plan for removal
We will create a new package, something along the line of “laminas/laminas-container-contracts”, which would ship the various factory interfaces (and some utility classes implementing them) currently in laminas-servicemanager, but targeting PSR-11 instead. These include the following interfaces:
Laminas\ServiceManager\Factory\AbstractFactoryInterface
Laminas\ServiceManager\Factory\DelegatorFactoryInterface
Laminas\ServiceManager\Factory\FactoryInterface
-
Laminas\ServiceManager\Initializer\InitializerInterface
(this one is up for debate, as we are largely directing users towards delegators instead)
and the following implementations:
-
Laminas\ServiceManager\AbstractFactory\ReflectionBasedAbstractFactory
(uses reflection to create an instance of the class requested). -
Laminas\ServiceManager\Factory\InvokableFactory
(creates an instance of a class usingnew
and no constructor arguments)
laminas-servicemanager would be updated such that the ServiceManager
could consume both implementations of its own interfaces, as well as those from the new package. This allows users and other packages to adopt the PSR-11 variants immediately in order to remain forwards-compatible with version 4. Additionally, since such checks generally happen during configuration, and not runtime, they should have little to any performance impact.
Existing interfaces and implementations with equivalents in the new package would be marked @deprecated
.
For implementations we provide within laminas-servicemanager, if the class is marked final
, we would update it to use the PSR-11 interfaces; this affects the ConfigAbstractFactory
and InvokableFactory
only at this time. Otherwise, in the documentation, we would point users to the new interfaces package.
Finally, we will provide laminas-cli commands to allow users to:
- Identify implementations of the legacy interfaces in their own code.
- Identify usage of legacy implementations in configuration, and update them.
- Potentially update legacy implementations to implement the new interfaces (this might not be viable, however).
In version 4, we would remove the legacy definitions and implementations entirely, and update the ServiceManager
to only typehint against the new versions.
Packages implementing or consuming laminas-servicemanager interfaces
When it comes to packages that implement or consume laminas-servicemanager interfaces, modifying non-final classes that implement the current interfaces would clearly be a backwards-compatibility break. As such, the plan would be:
- Deprecate the existing implementations.
- Ship parallel implementations targeting the new interfaces.
- Document the new implementations.
- If the package provides autowiring via a
ConfigProvider
orModule
class, only reference the new implementations.
Since user extensions would have to be wired manually anyways, such extensions would continue to work.
Components with implementations
What follows is a list of components that have implementations of laminas-servicemanager interfaces. With each, I have listed whether or not autowiring is present in the package, and then each implementation, including information on:
- its purpose
- what it implements
- whether or not it is autoregistered
In the majority of cases, we can do the following:
- Add a dependency on the new contracts package.
- Create parallel implementations targeting the contracts package.
- Deprecate the original implementations.
- Use the new implementations in any autowiring present.
- Make laminas-servicemanager and/or container-interop suggested packages instead of require packages.
- Document the new classes, and note that users of the legacy implementations will need to migrate to the new implementations (either by changing configuration or changing inheritance trees).
Affected Components
List of affected components (click to expand)
-
laminas/laminas-cache
- Package DOES have both a
ConfigProvider
and aModule
class -
PatternPluginManagerFactory
(create pattern plugin instances;FactoryInterface
implementation; registered) -
StorageAdapterPluginManagerFactory
(create adapter plugin manager instance;FactoryInterface
implementation; registered) -
StorageCacheAbstractServiceFactory
(create namedStorageInterface
instances;AbstractFactoryInterface
implementation; registered) -
StorageCacheFactory
(create defaultStorageInterface
instance;FactoryInterface
implementation; NOT registered) -
StoragePluginManagerFactory
(returnPluginManager
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-config
- Package DOES NOT have a
ConfigProvider
orModule
class -
AbstractConfigFactory
(pluck config segments from theconfig
service;AbstractFactoryInterface
implementation)
- Package DOES NOT have a
-
laminas/laminas-db
- Package DOES have both a
ConfigProvider
and aModule
class -
AdapterAbstractServiceFactory
(provide named DB adapters;AbstractFactoryInterface
implementation; registered) -
AdapterServiceFactory
(provide default DB adapter;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-di
- Package DOES have both a
ConfigProvider
and aModule
class -
AutowireFactory
(DI autowiring;AbstractFactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-filter
- Package DOES have both a
ConfigProvider
and aModule
class -
FilterPluginManagerFactory
(createsFilterPluginManager
instance;FactoryInterface
implementation; registered) -
SeparatorToSeparatorFactory
(createsSeparatorToSeparator
instances based on$options
provided;FactoryInterface
implementation; registered inFilterPluginManager
instance)
- Package DOES have both a
-
laminas/laminas-form
- Package DOES have both a
ConfigProvider
and aModule
class -
AnnotationBuilderFactory
(create and returnAnnotationBuilder
instance;FactoryInterface
implementation; registered) -
ElementFactory
(create and returnElementInterface
implementations, using$options
;FactoryInterface
implementation; registered byFormElementManager
; IS FINAL) -
FormAbstractServiceFactory
(create and returnFormInterface
instances;AbstractFactoryInterface
implementation; registered) -
FormElementManagerFactory
(create and returnFormElementManager
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-i18n
- Package DOES have both a
ConfigProvider
and aModule
class -
LoaderPluginManagerFactory
(create and returnLoaderPluginManager
instance;FactoryInterface
implemenation; registered) -
TranslatorServiceFactory
(create and returnTranslator
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-inputfilter
- Package DOES have both a
ConfigProvider
and aModule
class -
InputFilterAbstractServiceFactory
(produces namedInputFilterInterface
instances;AbstractFactoryInterface
implementation; registered withInputFilterPluginManager
and in laminas-api-tools/api-tools-content-validation) -
InputFilterPluginManagerFactory
(producesInputFilterPluginManager
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-log
- Package DOES have both a
ConfigProvider
and aModule
class -
FilterPluginManagerFactory
(producesFilterPluginManager
instance;FactoryInterface
implementation; registered) -
FormatterPluginManagerFactory
(producesFormatterPluginManager
instance;FactoryInterface
implementation; registered) -
LoggerAbstractServiceFactory
(produces namedLogger
instances;AbstractFactoryInterface
implementation; registered) -
LoggerServiceFactory
(produces defaultLogger
instance;FactoryInterface
implementation; registered) -
ProcessorPluginManagerFactory
(producesProcessorPluginManager
instance;FactoryInterface
implementation; registered) -
WriterFactory
(producesWriterInterface
instances using provided name and options;FactoryInterface
implementation; registered inWriterPluginManager
) -
WriterPluginManagerFactory
(producesWriterPluginManager
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-mail
- Package DOES have both a
ConfigProvider
and aModule
class -
SmtpPluginManagerFactory
(producesSmtpPluginManager
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-mvc
- Package DOES NOT have either a
ConfigProvider
or aModule
class (but there are some proposals to add them in a development version) -
LazyControllerAbstractFactory
(reflection-based factory for producing controllers;AbstractFactoryInterface
implementation; NOT registered anywhere — completely optional) -
ForwardFactory
(produces aForward
plugin instance;FactoryInterface
implementation; registered inControllerManager
) -
AbstractPluginManagerFactory
(abstract class for plugin manager factories;FactoryInterface
implementation, providing the__invoke()
definition). -
ApplicationFactory
(produces anApplication
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ConfigFactory
(produces theconfig
service by retrieving the ModuleManager, loading modules, retrieving the configuration listener, and pulling the config it aggregates;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ControllerManagerFactory
(produces aControllerManager
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
DispatchListenerFactory
(produces aDispatchListener
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
EventManagerFactory
(produces anEventManager
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
HttpDefaultRenderingStrategyFactory
(produces aView\Http\DefaultRenderingStrategy
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
HttpExceptionStrategyFactory
(produces anHttp\ExceptionStrategy
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
HttpMethodListenerFactory
(produces anHttpMethodListener
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
HttpRouteNotFoundStrategyFactory
(produces aView\Http\RouteNotFoundStrategy
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
HttpViewManagerFactory
(produces aView\Http\ViewManager
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
InjectTemplateListenerFactory
(produces aView\Http\InjectTemplateListener
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ModuleManagerFactory
(produces aModuleManager
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
RequestFactory
(produces aRequest
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ResponseFactory
(produces aResponse
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ServiceListenerFactory
(produces aServiceListener
instance;FactoryInterface
implementation; registered in skeleton) -
ViewFactory
(produces aView
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ViewFeedStrategyFactory
(produces aViewFeedStrategy
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ViewJsonStrategyFactory
(produces aViewJsonStrategy
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ViewManagerFactory
(produces aViewManager
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ViewPhpRendererFactory
(produces aViewPhpRenderer
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ViewPhpRendererStrategyFactory
(produces aViewPhpRendererStrategy
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ViewPrefixPathStackResolverFactory
(produces aViewPrefixPathStackResolver
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ViewResolverFactory
(produces aViewResolver
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ViewTemplateMapResolverFactory
(produces aViewTemplateMapResolver
instance;FactoryInterface
implementation; registered inServiceListenerFactory
) -
ViewTemplatePathStackResolverFactory
(produces aViewTemplatePathStackResolver
instance;FactoryInterface
implementation; registered inServiceListenerFactory
)
- Package DOES NOT have either a
-
laminas/laminas-mvc-console
- Package DOES have both a
ConfigProvider
and aModule
class -
ConsoleRouterDelegatorFactory
(substitutes console router for HTTP router if console env detected;DelegatorFactoryInterface
implementation; registered) -
ConsoleRouterFactory
(produces console router instance;FactoryInterface
implementation; registered) -
SimpleRouteStack
(consumes laminas-routerRouteInvokableFactory
,RoutePluginManager
,SimpleRouteStack
) -
ConsoleAdapterFactory
(produces console instance;FactoryInterface
implementation; registered) -
ConsoleApplicationDelegatorFactory
(attaches an alternate view renderer to the laminas-mvcApplication
instance;DelegatorFactoryInterface
implementation; NOT registered, and, in fact, deprecated) -
ConsoleExceptionStrategyFactory
(produces a consoleExceptionStrategy
;FactoryInterface
implementation, registered) -
ConsoleRequestDelegatorFactory
(substitutes console request for HTTP request if console env detected;DelegatorFactoryInterface
implementation; registered) -
ConsoleResponseDelegatorFactory
(substitutes console response for HTTP response if console env detected;DelegatorFactoryInterface
implementation; registered) -
ConsoleResponseSenderDelegatorFactory
(injects console response sender in send response listener;DelegatorFactoryInterface
implementation; registered) -
ConsoleRouteNotFoundStrategyFactory
(producesRouteNotFoundStrategy
instance;FactoryInterface
implementation; registered) -
ConsoleViewHelperManagerDelegatorFactory
(injects alternative url, basepath, and server url plugins in view helper manager if console env detected;DelegatorFactoryInterface
implementation; registered) -
ConsoleViewManagerFactory
(producesConsoleViewManager
instance;FactoryInterface
implementation; registered) -
ControllerManagerDelegatorFactory
(injects initializer intoControllerManager
for injecting console instance into controllers;DelegatorFactoryInterface
implementation; registered) -
DefaultRenderingStrategyFactory
(producesDefaultRenderingStrategy
instance;FactoryInterface
implementation; registered) -
ViewManagerDelegatorFactory
(replaces HTTP view manager with Console view manager instance;DelegatorFactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-mvc-i18n
- Package DOES have both a
ConfigProvider
and aModule
class -
HttpRouterDelegatorFactory
(injects router withTranslator
instance if it is available and the router supports translation;DelegatorFactoryInterface
implementation; registered) -
TranslatorFactory
(producesTranslator
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-mvc-plugin-flashmessenger
- Package DOES have a
Module
class -
FlashMessengerFactory
(producesFlashMessenger
view helper instance;FactoryInterface
implementation; registered)
- Package DOES have a
-
laminas/laminas-mvc-plugin-identity
- Package DOES have a
Module
class -
IdentityFactory
(producesIdentity
instance;FactoryInterface
implementation; registered)
- Package DOES have a
-
laminas/laminas-navigation
- Package DOES have both a
ConfigProvider
and aModule
class -
AbstractNavigationFactory
(abstract class produces aNavigation
instance;FactoryInterface
implementation) -
NavigationAbstractServiceFactory
(produces namedNavigation
instances;AbstractFactoryInterface
implementation; registered) -
NavigationHelperFactory
(producesNavigation
view helper instance;FactoryInterface
implementation; registered inHelperConfig
-
ViewHelperManagerDelegatorFactory
(injects view helper manager withHelperConfig
;DelegatorFactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-paginator
- Package DOES have both a
ConfigProvider
and aModule
class -
AdapterPluginManagerFactory
(producesAdapterPluginManager
instance;FactoryInterface
implementation; registered) -
CallbackFactory
(producesCallback
adapter instance;FactoryInterface
implementation; registered inAdapterPluginManager
) -
DbSelectFactory
(producesDbSelect
adapter instance;FactoryInterface
implementation; registered inAdapterPluginManager
) -
DbTableGatewayFactory
(producesDbTableGateway
adapter instance;FactoryInterface
implementation; registered inAdapterPluginManager
) -
IteratorFactory
(producesIterator
adapter instance;FactoryInterface
implementation; registered inAdapterPluginManager
) -
ScrollingStylePluginManagerFactory
(producesScrollingStylePluginManager
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-router
- Package DOES have both a
ConfigProvider
and aModule
class -
HttpRouterFactory
(produces aTreeRouteStack
instance;FactoryInterface
implementation; registered) -
TreeRouteStack
(consumesRouteInvokableFactory
) -
RouteInvokableFactory
(producesRouteInterface
instances;FactoryInterface
andAbstractFactoryInterface
implementation) -
RoutePluginManagerFactory
(producesRoutePluginManager
instance;FactoryInterface
implementation; registered) -
RoutePluginManager
(consumesRouteInvokableFactory
as an abstract factory; registered) -
RouterFactory
(producesRouteStackInterface
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-serializer
- Package DOES have both a
ConfigProvider
and aModule
class -
AdapterPluginManagerFactory
(produces anAdapterPluginManager
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-servicemanager-di
- Package DOES have both a
ConfigProvider
and aModule
class -
DiAbstractServiceFactoryFactory
(producesDiAbstractServiceFactory
instance;FactoryInterface
implementation; registered) -
DiAbstractServiceFactory
(produces arbitrary instances based on reflection;AbstractFactoryInterface
implementation, not registered) -
DiFactory
(producesLaminas\Di\Di
instance;FactoryInterface
implementation; registered) -
DiServiceFactory
(produces arbitrary instances based on reflection;FactoryInterface
implementation; not registered) -
DiServiceInitializerFactory
(producesDiServiceInitializer
instance;FactoryInterface
implementation; registered) -
DiStrictAbstractServiceFactoryFactory
(producesDiStrictAbstractServiceFactory
instance;FactoryInterface
implementation; registered) -
DiStrictAbstractServiceFactory
(produces arbitrary instances based on reflection;AbstractFactoryInterface
implementation, not registered)
- Package DOES have both a
-
laminas/laminas-session
- Package DOES have both a
ConfigProvider
and aModule
class -
ContainerAbstractServiceFactory
(produces sessionContainer
instances;AbstractFactoryInterface
implementation; registered) -
SessionConfigFactory
(produces appropriate sessionConfigInterface
instance;FactoryInterface
implementation; registered) -
SessionManagerFactory
(producesSessionManagerInterface
instance;FactoryInterface
implementation; registered) -
StorageFactory
(producesStorageInterface
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-validator
- Package DOES have both a
ConfigProvider
and aModule
class -
ValidatorPluginManagerFactory
(producesValidatorPluginManager
instance;FactoryInterface
implementation; registered)
- Package DOES have both a
-
laminas/laminas-view
- Package DOES NOT have either a
ConfigProvider
or aModule
class -
AssetFactory
(producesAsset
view helper instance;FactoryInterface
implementation; registered with `HelperPluginManager) -
FlashMessengerFactory
(producesFlashMessenger
view helper instance;FactoryInterface
implementation; registered with `HelperPluginManager) -
IdentityFactory
(producesIdentity
view helper instance;FactoryInterface
implementation; registered with `HelperPluginManager)
- Package DOES NOT have either a
-
laminas-api-tools/api-tools
- Package has a
Module
class backed by amodule.config.php
file -
TableGatewayAbstractFactory
(produces named TDG instances;AbstractFactoryInterface
implementation; registered inmodule.config.php
) -
DbConnectedResourceAbstractFactory
(producesLaminas\ApiTools\Rest\Resource
instances;AbstractFactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-admin
- Package has a
Module
class backed by amodule.config.php
file -
AuthenticationControllerFactory
(producesAuthenticationController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
AuthenticationTypeControllerFactory
(producesAuthenticationTypeController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
AuthorizationControllerFactory
(producesAuthorizationController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
ConfigControllerFactory
(producesConfigController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
DashboardControllerFactory
(producesDashboardController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
DbAutodiscoveryControllerFactory
(producesDbAutodiscoveryController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
DocumentationControllerFactory
(producesDocumentationController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
FiltersControllerFactory
(producesFiltersController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
HydratorsControllerFactory
(producesHydratorsController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
InputFilterControllerFactory
(producesInputFilterController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
ModuleConfigControllerFactory
(producesModuleConfigController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
ModuleCreationControllerFactory
(producesModuleCreationController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
SourceControllerFactory
(producesSourceController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
StrategyControllerFactory
(producesStrategyController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
ValidatorsControllerFactory
(producesValidatorsController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
VersioningControllerFactory
(producesVersioningController
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
InputFilterInputFilterFactory
(producesInputFilterInputFilter
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
AbstractPluginManagerModelFactory
(producesAbstractPluginManagerModel
instance;FactoryInterface
implementation; extended byHydratorsModelFactory
, which is registered) -
DocumentationModelFactory
(producesDocumentationModel
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
FiltersModelFactory
(producesFiltersModel
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
InputFilterModelFactory
(producesInputFilterModel
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
ValidatorMetadataModelFactory
(producesValidatorMetadataModel
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
ValidatorsModelFactory
(producesValidatorsModel
instance;FactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-content-negotiation
- Package has a
Module
class backed by amodule.config.php
file -
RenameUploadFilterFactory
(producesRenameUpload
filter instance;FactoryInterface
implementation; registered inmodule.config.php
-
UploadFileValidatorFactory
(producesUploadFile
validator instance;FactoryInterface
implementation; registered inmodule.config.php
-
module.config.php
(registers laminas-dbAdapterAbstractServiceFactory
)
- Package has a
-
laminas-api-tools/api-tools-content-validation
- Package has a
Module
class backed by amodule.config.php
file -
ContentValidationListenerFactory
(producesContentValidationListener
instance;FactoryInterface
implementation; registered inmodule.config.php
-
NoRecordExistsFactory
(producesNoRecordExists
validator;FactoryInterface
implementation; registered inmodule.config.php
) -
RecordExistsFactory
(producesRecordExists
validator;FactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-doctrine
- Package has a
Module
class backed by aserver.config.php
and anadmin.config.php
file -
DoctrineAutodiscoveryControllerFactory
(producesDoctrineAutodiscoveryController
instance;FactoryInterface
implementation; registered inadmin.config.php
) -
DoctrineResourceFactory
(producesDoctrineResource
instances;AbstractFactoryInterface
implementation; registered inserver.config.php
) -
NoObjectExistsFactory
(producesNoObjectExists
instance;FactoryInterface
implementation; registered inserver.config.php
) -
ObjectExistsFactory
(producesObjectExists
instance;FactoryInterface
implementation; registered inserver.config.php
)
- Package has a
-
laminas-api-tools/api-tools-documentation
- Package has a
Module
class backed by amodule.config.php
file -
ControllerFactory
(producesController
instance;FactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-documentation-apiblueprint
- Package has a
Module
class backed by amodule.config.php
file -
ControllerFactory
(producesController
instance;FactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-documentation-swagger
- Package has a
Module
class backed by amodule.config.php
file -
SwaggerUiControllerFactory
(producesSwaggerUiController
instance;FactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-hal
- Package has a
Module
class backed by amodule.config.php
file -
HalControllerPluginFactory
(producesHal
plugin;FactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-mvc-auth
- Package has a
Module
class backed by amodule.config.php
file -
AclAuthorizationFactory
(producesAclAuthorization
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
ApacheResolverFactory
(producesApacheResolver
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
AuthenticationAdapterDelegatorFactory
(injects adapters intoDefaultAuthenticationListener
;DelegatorFactoryInterface
implementation; registered inmodule.config.php
) -
AuthenticationServiceFactory
(producesLaminas\Authentication\AuthenticationService
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
DefaultAuthenticationListenerFactory
(producesDefaultAuthenticationListener
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
DefaultAuthHttpAdapterFactory
(producesLaminas\Authentication\Adapter\Http
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
DefaultAuthorizationListenerFactory
(producesDefaultAuthorizationListener
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
DefaultResourceResolverListenerFactory
(producesDefaultResourceResolverListener
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
FileResolverFactory
(producesFileResolver
instance;FactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-oauth2
- Package has a
Module
class backed by amodule.config.php
file -
AuthControllerFactory
(producesAuthController
instance;FactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-rest
- Package has a
Module
class backed by amodule.config.php
file -
OptionsListenerFactory
(producesOptionsListener
instance;FactoryInterface
implementation; registered inmodule.config.php
) -
RestControllerFactory
(producesRestController
instances;AbstractFactoryInterface
implementation; registered inmodule.config.php
)
- Package has a
-
laminas-api-tools/api-tools-rpc
- Package has a
Module
class backed by amodule.config.php
file -
RpcControllerFactory
(producesRpcController
instances;AbstractFactoryInterface
implementation; registered inmodule.config.php
)
- Package has a