2016-12-05 8 views
1

I Z ZF3을 사용하면 응용 프로그램 세션 컨테이너에 응용 프로그램을 세분화하여 액세스 할 수있는 서비스를 구축하고 있습니다. 이 서비스는 SessionContainerManager라고하며 등을 검색하는 방법과 업데이트 사용자 ID, 사용자의 ACL, 내 코드가됩니다ZF3를 사용하여 세션 컨테이너에 액세스하는 방법은 무엇입니까?

namespace User\Service; 

class SessionContainerManager 
{ 
    /** 
    * Service container. 
    * @var Zend\Service\Container 
    */ 
    private $sessionContainer; 


    public function __construct($sessionContainer) 
    { 
     $this->sessionContainer = $sessionContainer; 
    } 

    public function getACLList() 
    { 
     return $this->sessionContainer->aclList; 
    } 

    public function setACLList($aclList) 
    { 
     $this->sessionContainer->aclList = $aclList; 
    } 

    public function getIdentity() 
    { 
     return $this->sessionContainer->identity; 
    } 

    public function setIdentity($identity) 
    { 
     $this->sessionContainer->identity = $identity; 
    } 

} 

그리고 공장 :

namespace User\Service\Factory; 

use Interop\Container\ContainerInterface; 
use User\Service\SessionContainerManager; 
use Zend\Session\Container; 

class SessionContainerManagerFactory 
{ 
    public function __invoke(ContainerInterface $container, $requestedName, array $options = null) 
    {   
     $sessionContainer = $container->get(\Zend\Session\Container::class); 

     return new SessionContainerManager($sessionContainer); 
    } 
} 

module.config에서 :

'service_manager' => [ 
    'factories' => [ 
     Service\SessionContainerManager::class => Service\Factory\SessionContainerManagerFactory::class, 
    ], 

앱을 실행할 때 다음 오류가 발생합니다.

File: 

    /home/renato/project/dev/fways/php/fways/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:670 

Message: 

    Unable to resolve service "Zend\Session\Container" to a factory; are you certain you provided it during configuration? 

이 세션 컨테이너를 작동 시키려면 도움을 청합니다.

답변

-1

캐시 된 모듈 구성으로 인해 발생했습니다. 처음에는 읽기 구성을 빠르게하기 위해 생성되었습니다. 따라서 새로운 서비스 설정을 추가 한 후에는 항상 data/cache/module-config-cache.application.config.cache.php에서 캐시를 제거하십시오. 발견되지 않으면 자동으로 생성됩니다.

0

이 링크 확인 working with Sessions in zf3 아마도이 패키지를 처음 구입하지 않았을 것입니다. 작곡가가 아닌 경우 추가해보세요.

php composer.phar require zendframework/zend-session