从YII中的请求字符串访问参数?

时间:2012-11-01 08:49:14

标签: yii

假设我有以下观点:

http://localhost/site/www/index.php/products/view/1

然后

Yii::app()->request->getUrl() ==> /site/www/index.php/products/view/1 
Yii::app()->getController()->id ==> products
Yii::app()->getController()->getAction()->id; ==> view 

如何访问“/ 1”部分?

2 个答案:

答案 0 :(得分:2)

有两种方法可以获取id值。 假设您为Url定义了以下规则:

'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

然后你可以在php中使用GET方法获取ID的值:

$id = $_GET['id'];

或者您可以在控制器中为该方法定义一个参数,该参数将自动成为您需要的:

public function viewAction($id) {
    //here $id is equal to $_GET['id']
}

请注意,这些参数的名称必须与我们期望的$ _GET

的名称完全相同

答案 1 :(得分:1)

您可以使用以下方式将其作为 $ _ GET 变量访问:

$_GET['id']

你怎么问?由于在Yii默认配置(protected / config / main.php)中设置的规则

'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

该规则指定 {controller} / {action} / {值,名为id} 。 您可以根据需要自定义这些规则,请在此处阅读更多相关信息:

相关问题