使用参数化路由时,有没有办法访问$_GET
事件处理程序中重写的onBeginRequest
变量?
我的路线定义为:
'<_c:\w+>/<_a:\w+>/<id:\d+>' => '<_c>/<_a>'
我的事件处理程序是:
'onBeginRequest' => function($event) {
/*
site.com/posts/edit/1 - empty (bad)
site.com/posts/edit/?id=1 - not empty(good)
*/
var_dump($_GET);
die;
}
如果请求上述两个URL中的哪一个,我如何确定定义$ _GET ['id']?
我正在使用Yii版本1.1.13。
答案 0 :(得分:3)
您可以通过让url manager组件解析当前请求url:
来实现此目的$app = Yii::app();
$app->getUrlManager()->parseUrl($app->getRequest());
这将根据您的路线适当填充$_GET
和$_REQUEST
。它也会返回活动路径(控制器/动作对),但我没有对返回值做任何事情,因为它看起来好像你不需要它。