【问题标题】:Accessing user session from a custom routing class从自定义路由类访问用户会话
【发布时间】:2010-03-16 15:46:14
【问题描述】:

有没有办法从自定义路由类访问用户对象?

我想在生成url的时候加一个参数,这个参数在用户会话里面,所以我需要访问它。

我发现访问的唯一方法是使用 sfContext::getInstance()->getUser(),但众所周知它效率低下。

谢谢!

【问题讨论】:

    标签: symfony1


    【解决方案1】:

    我会按照你提到的方式来写 - 我在类似的情况下使用过这种方法,并且在性能方面从未遇到过问题,并且怀疑你会是一样的。

    另外,从来没有听说过这个效率低下,但它有点不受欢迎,因为它将路由与上下文结合起来。可以克服这个问题的另一种方法是将变量传递给路由,就像你传递任何其他参数(或用户对象,如果你需要整个东西)一样。如果您经常需要这样做,您可以随时制作一个包装现有 url_for 方法的自定义 url 助手,将此参数添加到传递的任何其他详细信息中。

    【讨论】:

    【解决方案2】:

    我已经实现的一种解决方法(目前),是从某个地方获取一些数据(不理想,我愿意访问用户会话),并在 $params 的 generate 方法中设置一个新参数自定义路由类。

    希望对你有帮助...

    【讨论】:

      猜你喜欢
      • 2018-06-30
      • 2017-04-22
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2020-11-18
      • 2022-06-21
      • 2012-01-13
      • 1970-01-01
      相关资源
      最近更新 更多