zendframework 3 - ошибка помощника представления идентичности - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь использовать помощник по отображению идентичности в моем layout.phtml

$this->identity();

но получите эту ошибку:

No AuthenticationServiceInterface instance provided in  vendor\zendframework\zend-view\src\Helper\Identity.php on line 38

1 Ответ

0 голосов
/ 08 ноября 2018

Вы действительно установили Zend-Authentication и зарегистрировали его в своем services из ServiceManager?

Поскольку фабрика для IdentityHelper установит AuthenticationService.

См .: https://github.com/zendframework/zend-mvc-plugin-identity/blob/1.1.0/src/IdentityFactory.php#L27-L31

    if ($container->has(AuthenticationService::class)) {
        $plugin->setAuthenticationService($container->get(AuthenticationService::class));
    } elseif ($container->has(AuthenticationServiceInterface::class)) {
        $plugin->setAuthenticationService($container->get(AuthenticationServiceInterface::class));
    }

Зарегистрируйте службу аутентификации в вашем модуле Applications.config.php:

'service_manager' => [
    'factories' => [
        \Zend\Authentication\AuthenticationService::class => \Application\Service\Factory\AuthenticationServiceFactory::class,
    ]
],

Создайте фабрику для службы AuthenticationService, где вы сообщаете службе, какой адаптер использовать, как проверить, действительна ли идентификация. См https://docs.zendframework.com/zend-authentication/intro/#usage

...