从自定义路由类访问用户会话

2024-01-31

有没有某种方法可以从自定义路由类访问用户对象?

我想在生成 url 时添加一个参数,并且该参数位于用户会话内部,因此我需要访问它。

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

Thanks!


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

另外,从来没有听说过这种效率低下的说法,但它有点令人不悦,因为它将路由与上下文耦合起来。克服这个问题的另一种方法是将变量传递给路由,就像传递任何其他参数一样(如果需要整个参数,则传递给用户对象)。如果您需要经常这样做,您始终可以创建一个自定义 url 帮助器来包装现有的 url_for 方法,将此参数添加到传递的任何其他详细信息中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从自定义路由类访问用户会话 的相关文章

  • Symfony FOSUserBundle - 在布局模板中包含登录表单

    我们已经成功配置了 FOSUserBundle 登录 注册 重置密码等一切正常 现在我们希望将登录表单合并到我们的常规站点布局中 特别是将表单放置到布局标题的右上角部分 如果我们只处理用户名和密码字段 那么这样做就很容易了 但是我们似乎不知
  • Symfony 1.4 改进主义 save() 方法

    我的数据库中有 500 个条目 在我的后端我有行动 例如 public function executeMyAction sfWebRequest request Get some data from table templates Doc
  • Symfony 忽略 web/ 中的目录

    在 symfony 项目中 有什么方法可以排除目录被处理 例如 我想在 mysite com other app 中运行一个单独的 php 程序 如何排除 symfony 控制器处理 web other app 文件夹 我尝试过使用 Rew
  • 使用 Symfony 中的 Doctrine 更新多个列

    我必须更新 Symfony 中的多个列 但我找不到解决方案 所以 我想这样做 q Doctrine Query create gt update WebusersTable q gt set q login name John gt whe
  • 如何指定Composer安装路径?

    我有这样的定义 repositories type package package name symfony sfGuardPlugin version 4 0 2 dist url http plugins symfony project
  • 如何分步“验证”Symfony 表单 - 而不是调用 $form->isValid()

    我在 Ubuntu 上使用 Symfony 1 3 6 我有一个包含很多字段的表单 我不想一次性显示所有字段 这可能会吓到用户 而是想将表单分成多个阶段 以便用户可以仅填写显示的字段 在每个步骤 阶段 有点像向导 为此 我需要为表单编写自定
  • 使用 Swift 发送 HTML 电子邮件

    我想使用 Swift 从我的应用程序发送一封自动生成的带有 HTML 正文的电子邮件 这是我当前的代码 message Swift Message newInstance gt setFrom array email protected c
  • 在 symfony 中执行自定义 SQL

    我正在尝试执行一些自定义 SQL 来检索 Symfony 应用程序中的一些模型对象 我在网上找到了一个教程 其中说类似的内容将允许我执行查询 但不填充模型 填充模型不是主要问题 它只是用于只读数据 pdo Doctrine Manager
  • php中关闭数据库连接的使用

    我总是假设关闭数据库连接始终是一个好习惯 无论数据库 ORM如何 例如 mysql close Propel close 等 参考我的另一篇question https stackoverflow com questions 1236542
  • Symfony 错误 500 与 app.php,在 app_dev.php 上工作正常

    我目前正在尝试通过访问 app php 来使用我们的 基本 Symfony 2 应用程序 但是 每当我尝试访问 app php 时 都会收到错误 500 我检查了日志 生产日志为空 我已经尝试过配置文件中的 assetic 条目 但无济于事
  • 从 Symfony 1.4 到 Symfony 2.0 需要付出的努力

    我有一个用 Symfony 1 4 编写的网站 这是我的第一个 symfony 网站 学习曲线对我来说有点陡峭 这是一个相当复杂的网站 如果它没有损坏 我不想 修复它 话虽如此 由于 sf 1 4 现在是遗留代码 我最终希望将网站移植到 s
  • Symfony 表单值缺失

    我正在编写一个简单的登录表单 一切正常 验证等 但我无法获取值 这是我的代码 public function executeIndex sfWebRequest request this gt getUser gt clearCredent
  • Symfony 使用哪个单元测试框架?

    Symfony 使用哪个单元测试框架 Lime 还是 PHPUnit 使用它们有什么优点和缺点 在我看来 以下是我想到的一些事情 PHPUnit is more integrated with other tools like for in
  • 自定义路由类

    在 symfony 1 4 中 您可以定义自定义路由类 在其中使用自定义逻辑覆盖 url 的生成 例如 custom class sfDoctrineRouteCollection options model Custom prefix p
  • Symfony sfWidgetFormChoice 对于多个选择(复选框)总是无效

    我在复选框验证方面遇到了一个奇怪的问题 它总是无效 我已经阅读了很多有关此问题的内容 但我找不到解决方案 我在验证中使用 array keys 所以 这是我的代码 class NetworkDevicesAndInterfacesForm
  • 将 PHP 参数传递到 NetBeans 到具有 symfony url 路由功能的页面

    我正在做以 url 路由为特色的 Jobeet 教程 url 路由 我认为这是正确的术语 使 url 看起来像这样 http localhost 8080 frontend dev php job extreme sensio paris
  • Doctrine_Core::getTable()->findAll() 如何指定顺序?

    当使用Doctrine Table对象 使用时是否可以指定返回集合的顺序findAll or findByWhatever In the doc s http www doctrine project org api orm 1 2 doc
  • 清除另一个应用程序的 Symfony 缓存

    我想通过后端应用程序中的操作清除前端应用程序的缓存 我怎样才能实现这个目标 我相信在 symfony 1 2 中执行此操作的正确方法如下 sfContext switchTo frontend switch to the environme
  • 复制具有所有关系的 Doctrine 对象

    我想复印一份他所有亲戚的记录 我正在尝试 o Doctrine getTable Table gt Find x copy object gt copy relations o gt getRelations foreach relatio
  • 检测语言并重定向到 Symfony 上的子域

    我正在使用 Symfony 1 2 7 我的网站采用多种语言 每种语言都位于 en example com es example com 等子域中 如果用户进入 example com 我想将他重定向到他的语言 我还希望支持 staging

随机推荐