即使啓用了prettyurl,我如何在Yii2中獲得額外的$ _GET參數?
我需要閱讀從重定向貝寶-Link的一些反饋意見,但我不能改變貝寶端鏈接格式,以適應我的Yii2實現:
http://example.com/controller/action?success=boolean&token=xyz
感謝您的幫助!
即使啓用了prettyurl,我如何在Yii2中獲得額外的$ _GET參數?
我需要閱讀從重定向貝寶-Link的一些反饋意見,但我不能改變貝寶端鏈接格式,以適應我的Yii2實現:
http://example.com/controller/action?success=boolean&token=xyz
感謝您的幫助!
我想出了一個辦法:
$url = parse_url(Yii::$app->request->url);
parse_str($url['query'], $array);
$success = $array['success'];
$token = $array['token'];
但它仍然似乎沒有像正確的Yii2十歲上下的方式來解決它。
http://www.yiiframework.com/doc-2.0/yii-web-urlmanager.html這會幫助你。例如,您可以
'POST <controller:\w+>/<success:\w+>/<token:\w+>' => '<controller>/update',
使用Request類指定GET POST方法對於任何控制器,
[
'dashboard' => 'site/index',
'POST <controller:\w+>s' => '<controller>/create',
'<controller:\w+>s' => '<controller>/index',
'PUT <controller:\w+>/<id:\d+>' => '<controller>/update',
'DELETE <controller:\w+>/<id:\d+>' => '<controller>/delete',
'<controller:\w+>/<id:\d+>' => '<controller>/view',];
。
http://www.yiiframework.com/doc-2.0/yii-web-request.html
print_r(Yii::$app->request->get());
回報所有得到一個數組變量。這就像在直接php中做print_r($_GET);
。
Yii::$app->request->get('varName');
在你的情況可能是::
$success = Yii::$app->request->get('success');
$token = Yii::$app->request->get('token');
,你可以用它
http://www.yiiframework.com/doc-2.0/guide-runtime-requests.html
如果你想有一個特定的$ _GET變量如下您訪問
例如
如果你需要使用$ _GET [ '成功']或$ _GET [ '令牌']
,你必須使用它:
$request = Yii::$app->request;
$get = $request->get();
$success = $request->get('success');
$token= $request->get('token');
謝謝,但我不能告訴貝寶重定向到http://example.com/controller/boolean/xyz – tracid 2015-03-03 09:29:10
URL重寫管理運行在您的Yii2中。如果您給URL像http://example.com/controller/action?success=boolean&token=xyz它將轉換爲使用您的Url重寫管理 – ABIRAMAN 2015-03-03 09:32:46
,但它已被重寫。原始應用程序就像:index.php?/ controller/action?success = boolean&token = xyz。現在「友好」的地址是example.com/controller/action?success=boolean&token=xyz。有可能最後一部分也會被重寫嗎?或者我錯過了一點? – tracid 2015-03-03 10:24:51