【问题标题】:Yii Framework - URL mapping to actionYii 框架 - URL 映射到动作
【发布时间】:2014-05-11 00:59:01
【问题描述】:

我的 config/main.php 中有以下规则:

'<controller:\w+>/<action:\w+>/<param:\w+>'=>'<controller>/<action>',

我可以在ExperienceController 中添加一个在使用 URL /mysite/experience/district/value 时调用的动作 actionListByDistrict($param) 吗?

我想在 Yii 框架中做一种映射,但是怎么做呢?实际上,动作采取这种形式:actionDistrict($param)

【问题讨论】:

    标签: php yii


    【解决方案1】:

    我在评论中提到的规则应该有效:

    'experience/district/<param:\w+>'=>'experience/listByDistrict'
    

    确保这个特定的规则保持在最前面,因为 Yii UrlManager 规则的顺序很重要。

    然而,关于一般规则,我看不出有办法在 atm 上做。

    :)

    【讨论】:

      【解决方案2】:

      你可以试试'experience/district/&lt;id:\d+&gt;'=&gt;'experience/listByDistrict/',

      【讨论】:

      • id 需要一个数字 (d+) 并且参数是一个单词。所以改为 w+ 并使用 param 而不是 id 可能会起作用吗?尽管如此,OP 可能希望有一个通用的正则表达式规则,这样它就不会以 10 行代码结束,当一个就足够了。
      • 'experience/district/&lt;param:\w+&gt;'=&gt;'experience/listByDistrict/', 仍然没有解决。系统查找名为district 的操作。正如@MEM 所说,考虑到listByDistrict 的最后一句话,如果有一个通用规则会很有趣。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      • 2015-08-14
      • 1970-01-01
      • 2016-01-31
      相关资源
      最近更新 更多