Я пытаюсь получить доступ к локатору служб в помощнике просмотра, чтобы получить доступ к своей конфигурации. Я использую этот помощник представления для рекурсивной функции, поэтому я не знаю, где объявить локатор службы.
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
use CatMgt\Model\CategoryTable as RecursiveTable;
class CategoryRecursiveViewHelper extends AbstractHelper
{
protected $table;
public function __construct(RecursiveTable $rec)
{
$this->table = $rec;
}
public function __invoke($project_id, $id, $user_themes_forbidden, $level, $d, $role_level)
{
$config = $serviceLocator->getServiceLocator()->get('config');
//So i can access $config['templates']
$this->__invoke($val->project_id, $id, $user_themes_forbidden, $level, $d, $role_level);
}
}
Я попробовал решение, приведенное здесь ссылка
Но не помогло, нормально ли так делать?
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
use CatMgt\Model\CategoryTable as RecursiveTable;
use Zend\View\HelperPluginManager as ServiceManager;
class CategoryRecursiveViewHelper extends AbstractHelper
{
protected $table;
protected $serviceManager;
public function __construct(RecursiveTable $rec, ServiceManager $serviceManager)
{
$this->table = $rec;
$this->serviceManager = $serviceManager;
}
public function __invoke($project_id, $id, $user_themes_forbidden, $level, $d, $role_level)
{
$config = $this->serviceManager->getServiceLocator()->get('config');
//So i can access $config['templates']
$this->__invoke($val->project_id, $id, $user_themes_forbidden, $level, $d, $role_level);
}
}