我希望能够访问存储在请求对象中的数据,但是我不在操作中。
有没有办法获取这些数据?
答案 0 :(得分:3)
这完全取决于你所在的层。
如果您在视图中(模板,部分),则会自动填充一个名为$sf_request
的变量。
如果你在其他地方,你可以通过上下文单身人士获得它:sfContext::getInstance()->getRequest()
。这个问题是,如果由于某种原因没有创建上下文,那么它将成为一个问题。您可以使用sfContext::hasInstance()
进行检查,但如果没有上下文,那么您显然无法以此方式获取请求。
您还可以使用context.load_factories
上的侦听器将请求实例注入您需要的任何图层/对象中。但是,这又要求您在其中使用它的层在触发该事件之后这样做(例如,已经初始化了上下文)。
基本上我在这里得到的是,真的有理由在控制器之外访问请求: - )