2015-03-03 49 views

回答

0

我想出了一個辦法:

$url = parse_url(Yii::$app->request->url); 

parse_str($url['query'], $array); 

$success = $array['success']; 
$token = $array['token']; 

但它仍然似乎沒有像正確的Yii2十歲上下的方式來解決它。

0

http://www.yiiframework.com/doc-2.0/yii-web-urlmanager.html這會幫助你。例如,您可以

'POST <controller:\w+>/<success:\w+>/<token:\w+>' => '<controller>/update', 
+0

謝謝,但我不能告訴貝寶重定向到http://example.com/controller/boolean/xyz – tracid 2015-03-03 09:29:10

+0

URL重寫管理運行在您的Yii2中。如果您給URL像http://example.com/controller/action?success=boolean&token=xyz它將轉換爲使用您的Url重寫管理 – ABIRAMAN 2015-03-03 09:32:46

+0

,但它已被重寫。原始應用程序就像:index.php?/ controller/action?success = boolean&token = xyz。現在「友好」的地址是example.com/controller/action?success=boolean&token=xyz。有可能最後一部分也會被重寫嗎?或者我錯過了一點? – tracid 2015-03-03 10:24:51

0

使用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'); 
1

,你可以用它

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');