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