是否可以通过 Controller 动态扩展 Yii URL 路由和规则,或者通过扩展 CController 类本身?
我真的坚持这一点,没有尝试过任何东西。
如何在 Yii 中/使用 Yii 执行此操作?
是否可以通过 Controller 动态扩展 Yii URL 路由和规则,或者通过扩展 CController 类本身?
我真的坚持这一点,没有尝试过任何东西。
如何在 Yii 中/使用 Yii 执行此操作?
首先,您应该了解 URL 规则的用途:
urlManager
组件将 URL 解析为路由,以便 Yii 可以在特定控制器和模块中调用正确的操作。createUrl()
在代码中从调用创建URL。考虑到上面的 (1) 很明显,如果您想在应用程序中使用这些 URL,则不能在控制器中添加 URL 规则。为时已晚,因为 Yii 已经完成了将请求解析到路由的过程。即使您只想创建 URL,它也没有多大意义,因为您的应用程序永远不会理解它们。
为您的 URL 解析/创建带来更多动态的正确方法是使用自定义 URL 规则类。在那里,您可以编写任何您想要创建和解析的代码,即使是最复杂的 URL。该主题在手册中进行了描述。