Yii2 控制器的创建:
位置:controllers/ 下可以新建控制器
① 新建的控制器必须以Controller结尾,例如HelloControler.php;
② 控制器的类名与文件同名,必须放在命名空间中 app\controllers;
③ 控制器必须继承Controller类,需要use yii\web\Controller;
④ 控制器中必须包含操作方法,操作需用action开头,例如 actionIndex();
在Yii2.0.13高级应用程序模板中,advanced/frontend/controllers 中添加控制器CkController.php;
添加如下代码:
控制器访问方式:
localhost/advanced/frontend/web/index.php?r=ck/index
R是route的缩写,格式为r=控制器名/操作名
控制器请求处理:
Url中可以在操作名后使用&传递其他参数 例如 ….index.php?r=hello/index&id=3
在控制器中,可以使用request请求组件,读取传递到控制器的值;
使用方式: YII::app->request(); 拿到request请求组件,注意YII是全局类需要加;
拿到request请求组件使用get()/post()/isGet/isPost等方法和属性。
<?php namespace frontend\controllers; use yii\web\Controller; class CkController extends Controller { public function actionIndex() { //$request->post('name','ck'); //if(!) //{ // echo 'this is get method!'; //} //echo 'Hello Word!'; } }
控制器响应:
使用YII::app->response(); 拿到响应组件
<?php namespace frontend\controllers; use yii\web\Controller; class CkController extends Controller { public function actionIndex() { $res = \YII::$app->response; //$res->statusCode = '404'; //$res->headers->add('pragma', 'no-cache'); //$res->headers->set('pragma', 'max-age-5'); //$res->headers->remove('pragma'); //跳转 //$res->headers->add('location', 'http://www.baidu.com'); //; //文件下载 } }
本文为崔凯原创文章,转载无需和我联系,但请注明来自冷暖自知一抹茶ckhttp://www.cksite.cn