我无法访问自定义视图助手中的服务定位器。这是我的代码:
<?php
namespace Sam\View\Helper;
use Zend\View\Helper\AbstractHelper;
use Zend\ServiceManager\ServiceLocatorAwareTrait;
use Zend\ServiceManager\ServiceLocatorAwareInterface;
class Authenticated extends AbstractHelper imeplements ServiceLocatorAwareInterface
{
protected $authservice;
public function __invoke()
{
if (!$this->getAuthService()->hasIdentity()){
return false;
}
return true;
}
public function getAuthService()
{
if (! $this->authservice) {
$this->authservice = $this->getServiceLocator()->get('AuthService');
}
return $this->authservice;
}
}
答案 0 :(得分:1)
根据评论,如果您想使用服务定位器特征,则需要在课程中使用use ServiceLocatorAwareTrait
行。您目前拥有的内容应该会给您一个错误,因为您正在实现的ServiceLocatorAware
接口定义的方法缺失。