Session 关于Symfony2会议
在symfony2中,每个用户创建的控制器扩展控制器类,如下所示Session 关于Symfony2会议,session,symfony,Session,Symfony,在symfony2中,每个用户创建的控制器扩展控制器类,如下所示 class MyController extends Controller { 因此,与会话处理相关的函数可与$this对象一起使用,但Vendor和Core中的控制器不扩展Controller类,因此不提供对会话相关函数的访问。那么,有没有办法在不扩展控制器类的情况下使用这些函数呢 目前,我正在使用$\u SESSION[],来设置和获取会话变量 除了上面提到的,还有别的办法吗 Symfony2为会话提供服务,这是您试图检索的
class MyController extends Controller {
因此,与会话处理相关的函数可与$this对象一起使用,但Vendor和Core中的控制器不扩展Controller类,因此不提供对会话相关函数的访问。那么,有没有办法在不扩展控制器类的情况下使用这些函数呢
目前,我正在使用$\u SESSION[]
,来设置和获取会话变量
除了上面提到的,还有别的办法吗 Symfony2为会话提供服务,这是您试图检索的内容。symfony2中的所有服务都是使用服务容器检索的,这就是您所指的
$this->get('session')代码>
要正确使用您自己控制器中的服务容器,您可以
将控制器配置为服务(请参阅:)
扩展Symfony2堆栈提供的基本控制器类(使子控制器可以使用get()
方法)
第一个选项是正确的方法,您可以完全控制哪些服务随后被注入到各自的控制器中(请参见)好吧,我知道这个解决方案,我的问题不同。我想在Node.php中使用Twig core lib中的session变量,目前它实现了Twig_NodeInterface。选项1中提供的解决方案,我认为这是最后一个解决方案,当symfony2不提供选项时,实现一个处理会话相关操作的服务。关于选项2,我从一开始就知道。谢谢。访问容器内任何东西的正确方法是提供服务。您是否阅读过服务容器文档?