0

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

我真的坚持这一点,没有尝试过任何东西。

如何在 Yii 中/使用 Yii 执行此操作?

4

1 回答 1

4

首先,您应该了解 URL 规则的用途:

  1. 解析传入的 URL。该urlManager组件将 URL 解析为路由,以便 Yii 可以在特定控制器和模块中调用正确的操作。
  2. createUrl()在代码中从调用创建URL。

考虑到上面的 (1) 很明显,如果您想在应用程序中使用这些 URL,则不能在控制器中添加 URL 规则。为时已晚,因为 Yii 已经完成了将请求解析到路由的过程。即使您只想创建 URL,它也没有多大意义,因为您的应用程序永远不会理解它们。

为您的 URL 解析/创建带来更多动态的正确方法是使用自定义 URL 规则类。在那里,您可以编写任何您想要创建和解析的代码,即使是最复杂的 URL。该主题在手册中进行了描述

于 2013-07-03T06:09:50.020 回答