2016-03-04 4 views
1

Как это исправить (версия zend 2.5)?ZF2: ServiceLocatorAwareInterface устарел и будет удален в версии 3.0

ServiceLocatorAwareInterface устарел и будет удален в версии 3.0 вместе с ServiceLocatorAwareInitializer. Пожалуйста, обновите ваш класс Учитель \ Controller \ TeacherController удалить реализацию, и начать инъекционный ваши зависимости с помощью фабрики вместо

Я пробовал:

class TeacherControllerFactory implements FactoryInterface 
    { 
     public function __invoke(ContainerInterface $container, $name, array $options = null) 
     { 
      return new TeacherController(
       $container->getServiceLocator()->get(TeacherService::class) 
      ); 
     } 

     /** 
     * Create and return TeacherController instance 
     * 
     * For use with zend-servicemanager v2; proxies to __invoke(). 
     * 
     * @param ServiceLocatorInterface $container 
     * @return TeacherController 
     */ 
     public function createService(ServiceLocatorInterface $container) 
     { 
      return $this($container, TeacherController::class); 
     } 
    } 
+1

error_reporting (E_ALL & ~ E_USER_DEPRECATED); –

ответ

-1

Вам нужно добавить ~ E_USER_DEPRECATED

Вы можете добавить в открытый/index.php

ini_set ("error_reporting", E_ALL & ~ E_DEPRECATED & ~E_USER_DEPRECATED & ~ E_STRICT); 

или

error_reporting (E_ALL & ~ E_DEPRECATED & ~ E_USER_DEPRECATED & ~ E_STRICT); 

пользователем генерируется предупреждающее сообщение. Это похоже на E_DEPRECATED, за исключением , он генерируется в PHP-коде с помощью функции PHP trigger_error().

http://php.net/manual/en/errorfunc.constants.php

+1

Я исправил это, добавив эту строку в public/index.php 'error_reporting (E_DEPRECATED)' – Zakaria

+2

Игнорирование ошибки не исправит. –

Смежные вопросы