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?
이 세션 컨테이너를 작동 시키려면 도움을 청합니다.