Releases: commonphp/extensible
Releases · commonphp/extensible
v0.1.1
v0.1
Added
AbstractExtensionclass for defining extensions, including metadata (name, version, description, dependencies, etc.).ExtensionTypeattribute for specifying singleton behavior, preloading, and an optional required interface.ExtensionTypeRegistryfor registering and retrieving extension types via attributes.ExtensionRegistryfor registering individual extensions, mapping them to their extension type, and validating required interfaces.ExtensionStorefor unified extension lifecycle management:- Enforces singleton vs. multi-instance behavior.
- Checks missing dependencies and throws descriptive exceptions.
- Dispatches
ExtensionInstantiatedEventupon creation.
- PSR-14 Event Dispatcher Integration: Optionally dispatch events whenever an extension is instantiated.
- PSR-3 Logging: Uses a PSR-3
LoggerInterfaceto log extension registration details and errors. - Custom Instantiator: Plug in any
InstantiatorInterfaceto control how extensions are created (e.g., via a DI container).