【问题标题】:Determine Action for Route in Symfony 1.4在 Symfony 1.4 中确定路由的操作
【发布时间】:2014-02-15 17:15:38
【问题描述】:

我正在编写url_for 的扩展,它将在呈现所述链接之前检查登录用户是否具有适当的凭据来访问指向路由的链接。

我已确定如何从模块/操作字符串中获取操作,并成功检查所需的凭据。但是我找不到一种可靠的方法来从路由名称中获取适当的操作,无论是命名路由还是从模式匹配派生的路由,例如

 home/index => module: home, action: index
 @home      => module: home, action: index

我怀疑我需要从 sfRouting 复制代码,因为我在 Symfony 中找不到执行此操作的公共方法。有没有更好的办法?

【问题讨论】:

  • 通常,如果用户在呈现链接之前拥有适当的凭据,我会检查模板。您也可以将所有工作留给 Symfony - 让用户单击链接,如果他们没有足够的权限,他/她将被重定向到“未授权”页面。
  • 我会检查控制器是否有正确的凭据,否则我会将其重定向到安全页面。

标签: symfony1 symfony-1.4


【解决方案1】:

我倾向于只使用路由名称来表示这样的东西:

<?php $route = $sf_context->getInstance()->getRouting()->getCurrentRouteName() ?>

<?php if ($route == 'home'): ?>
  <p>hello</p>
<?php endif ?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多