В моем конфигурационном файле модуля у меня есть эти строки, которые загружают библиотеки и модели в ServiceManager, чтобы я мог их получить в контроллерах. Вы можете видеть, что все мои модели требуют такой же зависимости. Могу ли я спросить, как я могу вводить их без этих повторяющихся блоков кода? Это выглядит неправильно, но я не знаю, как я запускаю те же строки кода для разных библиотек. Или я вообще должен использовать фабрики? Спасибо!ZF2 - Загрузка моделей в Service Manager
'service_manager' => array(
'abstract_factories' => array(
'Zend\Cache\Service\StorageCacheAbstractServiceFactory',
'Zend\Log\LoggerAbstractServiceFactory',
),
'aliases' => array(
'translator' => 'MvcTranslator',
),
'factories' => array(
// Models
'Application\Model\Photo' => function($serviceLocator) {
$coreLibrary = $serviceLocator->get('Project\CoreLibrary');
$io = $serviceLocator->get('Project\IO');
$class = new Application\Model\Photo($coreLibrary, $io);
return $class;
},
'Application\Model\Album' => function($serviceLocator) {
$coreLibrary = $serviceLocator->get('Project\CoreLibrary');
$io = $serviceLocator->get('Project\IO');
$class = new Application\Model\Album($coreLibrary, $io);
return $class;
},
'Application\Model\Tag' => function($serviceLocator) {
$coreLibrary = $serviceLocator->get('Project\CoreLibrary');
$io = $serviceLocator->get('Project\IO');
$class = new Application\Model\Tag($coreLibrary, $io);
return $class;
},
'Application\Model\User' => function($serviceLocator) {
$coreLibrary = $serviceLocator->get('Project\CoreLibrary');
$io = $serviceLocator->get('Project\IO');
$class = new Application\Model\User($coreLibrary, $io);
return $class;
},
'Application\Model\Message' => function($serviceLocator) {
$coreLibrary = $serviceLocator->get('Project\CoreLibrary');
$io = $serviceLocator->get('Project\IO');
$class = new Application\Model\Message($coreLibrary, $io);
return $class;
},
),
),