簡體   English   中英

Yii2從URL獲取控制器/動作

[英]Yii2 get controller/action from url

在yii2中如何從網址獲取控制器/操作。 注意!!! 我問關於Yii2。 在此論壇上,僅回答Yii1的問題。

添加。 我發現像Yii :: app()-> getUrlManager()-> parseUrl(' http://eewee.djn '))的東西; 但是在yii2中

添加。 我得到另一個URL到anather conrtoller,在這里我想通過yii2解析URL並獲取控制器/動作。

那對我有用

$request = new Request(['url' => parse_url(\Yii::$app->request->referrer, PHP_URL_PATH)]);
$url = \Yii::$app->urlManager->parseRequest($request);
list($controller, $actionID) = \Yii::$app->createController($url[0]);

您會在$actionID$controller->id中的控制器名稱中收到操作。 需要Request對象,因為這樣的構造:

list($controller, $actionID) =
    \Yii::$app->createController(parse_url(\Yii::$app->request->referrer, PHP_URL_PATH));

不適用於url中的參數。

list($controller, $actionID) = Yii::$app->createController($url);

如果您需要作為對象采取行動,請嘗試此

$action = $controller->createAction($actionID);

嘗試這個!

<?php echo Yii::$app->controller->id; // controller id ?>


<?php echo Yii::$app->controller->action->id; // controller action id ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM