Я новичок в 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: «
Пожалуйста, кто-нибудь может помочь мне!
Ошибка, которую вы получаете, совершенно ясна. Там написано, что вы пытаетесь зарегистрировать свой сервис под именем 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',
),
),
Других решений пока нет …