У меня есть помощник по представлению от ZF2, который больше не работает с ZF3 из-за ServiceLocatorAwareInterface
усталости.Каков наилучший способ для рефакторинга ZF2 ServiceLocatorAwareInterface для работы с ZF3 в качестве помощника?
Что такое правильный способ реорганизовать этот класс:
<?php
namespace Site\View\Helper;
use Zend\View\Helper\AbstractHelper;
use Zend\ServiceManager\ServiceLocatorAwareInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
class SlidersList extends AbstractHelper implements ServiceLocatorAwareInterface
{
protected $_serviceLocator;
public function __invoke()
{
return $this->getView()->render(
'partials/sliders',
array('sliders' => $this->getServiceLocator()->getServiceLocator()->get('Sliders/Model/Table/SlidersTable')->fetchAll(true))
);
}
public function setServiceLocator(ServiceLocatorInterface $serviceLocator)
{
$this->_serviceLocator = $serviceLocator;
}
public function getServiceLocator()
{
return $this->_serviceLocator;
}
}
Должен ли я использовать вспомогательный вид фабрики, чтобы ввести локатор сервиса и если да, то каким образом это должно быть сделано?
Зачем вам нужен локатор обслуживания в вашем браузере? Проблема здесь, а не о том, как предоставить локатор сервиса вашему помощнику вида. – Unex
Я дал ответ, где [вы создаете фабричный класс для разрешения зависимостей] (http://stackoverflow.com/questions/38696620/zf3-controller-not-able-to-access-the-model-class-table -Расположенный-в-другом-MODUL/38703223 # 38703223). Вопрос в том, что контроллер, а не помощник вида, однако процесс все тот же. – AlexP