2016-08-25 41 views
4

我想檢查上一個動作名稱的條件。我從Yii::$app->request->referrer得到了以前的動作網址。 現在我只想解析動作名稱或者有另一種方式直接獲取引用動作名稱。Yii2從引用者url解析動作名稱

+0

你解決了這個問題嗎? – SilverFire

回答

6

您可以通過嘲笑Request對象並將其傳遞給UrlManger來輕鬆解析URL。

假設我們有URL http://example.com/user/42,並UrlManager具有以下規則:['user/<id:\d+>' => 'user/view']

$request = new Request(['url' => parse_url(Yii::$app->request->referrer, PHP_URL_PATH)]); 
$url = Yii::$app->urlManager->parseRequest($request); 
var_dump($url); // ['user/view', 'id' => 42] 

酷,不是嗎? :)