Yii2 获取当前请求的路由信息

如题,有两种方案实现。

方案一:

Yii::$app->controller->route;

方案二:

Yii::$app->requestedRoute

看过源码后才知道这俩的区别。

方案一是根据当前请求已创建的 module / controller / action,也就是实际处理当前请求的模块、控制器、方法所组合而成的路由,绝对规范。

方案二是根据 UrlManager::routeParam 等配置,解析请求 URL 取得的访问路由,不一定规范,但对用户可见。

通常情况下两种方法应该是等效的;某些特殊场景,例如修改过根据路由解析创建控制器的过程、内部反代重写过 URL 等,则有可能导致两方得到的值不一致。

根据不同业务场景使用不同的方法,对症下药。

本作品采用《CC 协议》,转载必须注明作者和本文链接
Former WinForm and PHP engineer. Now prefer Golang and Rust, and mainly working on DevSecOps and Kubernetes.
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
67
粉丝
590
喜欢
1236
收藏
1133
排名:13
访问:32.4 万
私信
所有博文
社区赞助商