ZF2: ServiceLocatorAwareInterface устарел и будет удален в версии 3.0
Как это можно исправить (Zend версии 2.5)?
ServiceLocatorAwareInterface устарела и будет удалена в версии 3.0 вместе с ServiceLocatorAwareInitializer. Обновите класс Teacher\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);
}
}
2 ответа
Посмотрите здесь. Патч уже слит. Вот ссылка на патч.
Эта ссылка помогла мне правильно ввести зависимости.
Вам нужно добавить ~E_USER_DEPRECATED
Вы можете добавить в public/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 ().