是否可以通过Controller扩展Yii URL路由和规则?

时间:2013-07-02 20:19:35

标签: url-rewriting yii yii-url-manager

是否可以动态地通过Controller扩展Yii URL路由和规则,或者通过扩展CController类本身?

我真的很困惑,没有尝试过任何事情。

如何在/用Yii进行此操作?

1 个答案:

答案 0 :(得分:4)

首先,您应该了解用于以下内容的URL规则:

  1. 解析传入的网址。 urlManager组件解析路由的URL,以便Yii可以在特定的控制器和模块中调用正确的操作。
  2. 在代码中调用createUrl()创建网址。
  3. 考虑到上面的(1),很明显,如果要在应用程序中使用这些URL,则可以在控制器中添加URL规则。现在已经太晚了,因为Yii已经完成了解决路线请求的过程。即使您只想创建URL,它也没有多大意义,因为您的应用程序永远无法理解它们。

    为网址解析/创建带来更多动态的正确方法是使用自定义网址规则类。在那里,您可以编写要创建的任何代码,甚至可以解析最复杂的URL。主题是described in the manual