У меня есть некоторые вопросы относительно миграции zf2 на zf3 моего приложения. Я прошел через руководства по миграции и начал процесс миграции, как описано там.Миграция zf2 в zf3
В соответствии с руководством по миграции больше нет доступа к контроллеру. И я имел обыкновение использовать его в каждом и каждом действии контроллера, чтобы впрыснуть конфигурации массива переменного (расположенный в module.config.php), Учение MongoDB DocumentManager и Doctrine EntityManager в модели, где они необходимы. Теперь я получаю так много устаревших сообщений о предупреждениях, как показано ниже;
PHP Устаревшее: Использование Zend \ ServiceManager \ ServiceManager :: getServiceLocator устарела так v3.0.0; пожалуйста, используйте контейнер передается на завод вместо в /var/www/html/LeapX/vendor/zendframework/zend-servicemanager/src/ServiceManager.php на линии 169
Поскольку мне нужно получить доступ к config и введите Doctrine DocumentManager и Doctrine EntityManager в мои модели, мне пришлось позвонить $this->getServiceLocator()
в мои контроллеры. Дайте мне знать, как решить эту проблему. Есть ли возможность напрямую вставлять эти зависимости в мои классы моделей? Должен ли я использовать фабрики для моделей?
И еще вопрос, когда дело доходит до фабрик относительно контроллеров. Должен ли я создать отдельную фабрику для каждого контроллера моего приложения? Существует довольно много контроллеров, распространяемых в пределах нескольких Модулей в приложении. Если я добавлю выделенную фабрику для каждого контроллера, число будет вдвое больше. Позвольте мне знать, как это сделать.
Этот ответ можно найти здесь: [ServiceManager в ZF3] (HTTPS: //stackoverflow.com/questions/42168619/servicemanager-in-zf3) –