Показывать имя пользователя после входа в ZF2

Я новичок в ZF2, и я следовал учебному пособию по аутентификации, которое я нашел здесь: https://samsonasik.wordpress.com/2013/05/29/zend-framework-2-working-with-authenticationservice-and-db-session-save-handler/

После входа в систему, я следовал его инструкции (в зоне комментариев) о том, как использовать $this->identity()

//config/module.config.php ....
'service_manager' => array(
'factories' => array(
'AuthStorage' => 'SanAuthWithDbSaveHandler\Factory\Storage\AuthStorageFactory',
'Zend\Authentication\AuthenticationService' => 'SanAuthWithDbSaveHandler\Factory\Storage\AuthenticationServiceFactory',
),
),

Но он генерирует эту ошибку:

«Неопределенное исключение« Zend \ ServiceManager \ Exception \ InvalidServiceNameException »с сообщением« Служба с именем или псевдонимом «Zend \ Authentication \ AuthenticationService» уже существует и не может быть переопределено; используйте альтернативное имя »в C: \ xampp1 \ htdocs \ zf2 \ vendor \ zendframework \ zendframework \ library \ Zend \ ServiceManager \ ServiceManager.php: «

Пожалуйста, кто-нибудь может помочь мне!

1

Решение

Ошибка, которую вы получаете, совершенно ясна. Там написано, что вы пытаетесь зарегистрировать свой сервис под именем Zend\Authentication\AuthenticationService который уже существует в ZF2. Вы должны изменить имя.

Сделайте это изменения в вашем module.config.php:

'service_manager' => array(
'factories' => array(
'AuthStorage' => 'SanAuthWithDbSaveHandler\Factory\Storage\AuthStorageFactory',
),
'aliases' => array( // make sure "aliases" and not "alias"'Zend\Authentication\AuthenticationService' => 'my_auth_service',
),
'invokables' => array(
'my_auth_service' => 'SanAuthWithDbSaveHandler\Factory\Storage\AuthenticationServiceFactory',
),
),
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]