OcraServiceManager is a Zend Framework 2 Module that decorates Zend\ServiceManager\ServiceManager
to allow tracking dependencies between services.
It integrates with ZendDeveloperTools to provide aid in debugging what is happening between your dependencies, allowing you to produce dependency graphs such as the following one:
It is heavily tested and supports proxying of any possible object type.
If you don't know what proxies are, you can read my article about service proxies and why we need them.
Tests | Releases | Downloads | Dependencies |
---|---|---|---|
The recommended way to install
ocramius/ocra-service-manager
is through
composer:
php composer.phar require ocramius/ocra-service-manager
You can then enable this module in your config/application.config.php
by adding
OcraServiceManager
to the modules
key:
// ...
'modules' => array(
// add OcraServiceManager and ZDT...
'ZendDeveloperTools',
'OcraServiceManager',
// ... and then your stuff
'MyOwnModule',
),
Please note that you need to enable service manager logging and the ZendDeveloperTools toolbar to actually see something working.
Following config keys are provided by default, but you can change them as you want. You can
drop a file ocra-service-manager.local.php
into your config/autoload
directory to
enable or disable logging of your service manager instances:
return array(
'ocra_service_manager' => array(
// Turn this on to disable dependencies view in Zend Developer Tools
'logged_service_manager' => true,
),
);
Please note that logging is enabled by default
Please refer to the contents of .travis.yml
to see how to test your patches
against OcraServiceManager.
Any pull requests will be accepted only if:
@coversNothing
on integration tests, please)Zend\Mvc\Application::init()
OcraServiceManager
registers a new
controller 'OcraServiceManager\Controller\YumlController'
as well as a new route
'ocra_service_manager_yuml'
. You will need to enable access to both these in development mode
in order to see the dependencies diagram.