Как получить дополнительные параметры $ _GET в Yii2, когда включена опция prettyurl?

Как я могу получить дополнительные параметры $ _GET в Yii2, даже если prettyurl включен?

Мне нужно прочитать некоторые отзывы от перенаправления Paypal-Link, но я не могу изменить формат ссылки на Paypal-Side, чтобы соответствовать моей реализации Yii2:

http://example.com/controller/action?success=boolean&маркер = хуг

Спасибо за вашу помощь!

1

Решение

ты можешь использовать это

http://www.yiiframework.com/doc-2.0/guide-runtime-requests.html

например,

если вам нужно использовать $ _GET [ ‘успех’] или же $ _GET [ ‘маркер’]

Вы должны использовать это:

$request = Yii::$app->request;

$get = $request->get();

$success = $request->get('success');
$token= $request->get('token');
1

Другие решения

Я выяснил способ:

$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 Это поможет тебе. Вы можете указать метод 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',];

например

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

Используйте класс Request.

http://www.yiiframework.com/doc-2.0/yii-web-request.html

print_r(Yii::$app->request->get()); возвращает все переменные get в массиве. Это как делать print_r($_GET); в прямой php.

Если вам нужна конкретная переменная $ _GET, вы получаете к ней доступ следующим образом:

Yii::$app->request->get('varName');

В вашем случае это будет:

$success = Yii::$app->request->get('success');
$token = Yii::$app->request->get('token');
0
По вопросам рекламы [email protected]