Release 1.1 created on 2018-12-10 by Frank Hein, maxence operations GmbH, Germany.
This version is based on Zend Service Manager 3.x and is backwards compatible with it.
mxc-servicemanager is a component compatible to zend-servicemanager 3.x. It can be used to substitute zend-servicemanager 3.x versions. Different from zend-servicemanager this component does not support PHP 5.6.
For mxc-servicemanager we refactored several parts of zend-servicemanager for better performance. This includes configuration and setup, factory caching and service resolution.
mxc-servicemanager will be kept compatible to zend-servicemanager. Changes to master and develop branches of zend-servicemanager will get merged into mxc-servicemanager as appropriate and applicable.
- File issues, ask and discuss at the issues section of mxc-servicemanager
- Online documentation of zend-servicemanager
- Speed up service manager configuration via configure()
- Speed up service manager configuration via the APIs:
- addAbstractFactory
- addDelegator
- addInitializer
- mapLazyService
- setAlias
- setFactory
- setInvokableClass
- setService
- setShared
- Speed up service delivery for
- aliases
- delegators
- invokables
- abstract factories
- Speed up service manager assets
- ConfigAbstractFactory
- Simplified configuration for common cases
- Comprehensive benchmark suite
To install mxc-servicemanager:
-
Remove dependencies to zend-servicemanager from your project.
-
Add a dependency to mxc-servicemanager to your composer.json
"require": { "mxc-commons/mxc-servicemanager": "^1.1" }
-
Configure PSR-4 compliant autoloading of the namespace Zend\ServiceManager. If you use the recommended way of composer based autoloading, add this configuration to your composer.json
"autoload": { "psr-4": { "Zend\\ServiceManager\\": "src/" } },
-
Run composer update
Now you can use Zend\ServiceManager the way you are used to use it. zend-servicemanager is transparently replaced by mxc-servicemanager. mxc-servicemanager
instances get created by new Zend\ServiceManager\ServiceManager
as before.
mxc-servicemanager is provided under the New BSD License. See LICENSE.md
.
Platform for discussion of all things related to this fork is the issues section of mxc-commons/mxc-servicemanager.
Please refer to the CHANGELOG.md
for a list of changes and enhancements. A comprehensive benchmark comparison is included for
each version. A brief description of the benchmark tests is provided in BENCHMARKS.md
.
This work is based on zend-servicemanager, which is part of the Zend Framework. This work would not have been possible without the work of Matthew Weier O'Phinney (@weierophinney) and the numerous people contributing to Zend Framework.
Unit tests are done using Sebastian Bergmann's PHPUnit unit testing framework (@sebastianbergmann).
Benchmarks are done using Daniel Leech's PHPBench benchmark framework (@dantleech).