From http://framework.zend.com/manual/2.0/en/modules/zend.service-manager.quick-start.html#modules-as-service-providers
Module Returning an Array
The following demonstrates returning an array of configuration from a module class. It can be substantively the same as the array configuration from the previous example.
namespace SomeModule;
class Module
{
public function getServiceConfig()
{
return array(
'abstract_factories' => array(),
'aliases' => array(),
'factories' => array(),
'invokables' => array(),
'services' => array(),
'shared' => array(),
);
}
}
Returning a Configuration instance
First, let’s create a class that holds configuration.
namespace SomeModule\Service;
use SomeModule\Authentication;
use SomeModule\Form;
use Zend\ServiceManager\Config;
use Zend\ServiceManager\ServiceManager;
class ServiceConfiguration extends Config
{
/**
* This is hard-coded for brevity.
*/
public function configureServiceManager(ServiceManager $serviceManager)
{
$serviceManager->setFactory('User', 'SomeModule\Service\UserFactory');
$serviceManager->setFactory('UserForm', function ($serviceManager) {
$form = new Form\User();
// Retrieve a dependency from the service manager and inject it!
$form->setInputFilter($serviceManager->get('UserInputFilter'));
return $form;
});
$serviceManager->setInvokableClass('UserInputFilter', 'SomeModule\InputFilter\User');
$serviceManager->setService('Auth', new Authentication\AuthenticationService());
$serviceManager->setAlias('SomeModule\Model\User', 'User');
$serviceManager->setAlias('AdminUser', 'User');
$serviceManager->setAlias('SuperUser', 'AdminUser');
$serviceManager->setShared('UserForm', false);
}
}
Now, we’ll consume it from our Module.
namespace SomeModule;
// We could implement Zend\ModuleManager\Feature\ServiceProviderInterface.
// However, the module manager will still find the method without doing so.
class Module
{
public function getServiceConfig()
{
return new Service\ServiceConfiguration();
// OR:
// return 'SomeModule\Service\ServiceConfiguration';
}
}
End of citation.
We need to support all of these alternatives.
From http://framework.zend.com/manual/2.0/en/modules/zend.service-manager.quick-start.html#modules-as-service-providers
Module Returning an Array
The following demonstrates returning an array of configuration from a module class. It can be substantively the same as the array configuration from the previous example.
Returning a Configuration instance
First, let’s create a class that holds configuration.
Now, we’ll consume it from our Module.
End of citation.
We need to support all of these alternatives.