php - 如何在 Symfony 中的操作之外访问 Request 对象

标签 php symfony1

我想访问存储在请求对象中的数据,但我不在操作范围内。

有办法获取这些数据吗?

最佳答案

这完全取决于你所在的层。

如果您在 View (模板、部分)中,则会自动填充一个名为 $sf_request 的变量。

如果您在其他地方,您可以通过以下方式使用上下文单例来获取它:sfContext::getInstance()->getRequest()。这样做的问题是,如果由于某种原因尚未创建上下文,那么这将成为一个问题。您可以使用 sfContext::hasInstance() 来检查这一点,但如果没有上下文,那么显然您无法以这种方式获取请求。

您还可以使用 context.load_factories 上的监听器将请求实例注入(inject)到您需要的任何层/对象中。不过,这再次要求您使用它的层在触发该事件后执行此操作(例如,上下文已初始化)。

基本上,我在这里得到的是,不应该真正有理由访问 Controller 之外的请求:-)

关于php - 如何在 Symfony 中的操作之外访问 Request 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8146775/

相关文章:

php - 更新查询不工作 PHP MySQL

php - 使用参数从 PHP 调用 AWS Lambda

php - 根据另一个 mysql 列中的 mysql 值求和 php 数组(从 mysql 结果创建)

php - 从 Doctrine 地理记录中的给定坐标获取距离

php - 从 Symfony 表单中获取请求对象的最佳方法?

php - MySQL建表后添加表引用约束

javascript - 如何从 PHP 中一一显示每个 "echo"。而不是等到所有脚本完成

unit-testing - Symfony 单元测试不会加载 app_ globals

symfony1 - Doctrine Entity findBy 多对多

php - 网页游戏的数据库建模