本文实例讲述了Yii 框架控制器创建使用及控制器响应操作。分享给大家供大家参考,具体如下:
Yii 框架控制器创建使用
在根目录下的controllers目录下创建控制器HelloController.php:
- <?php
- namespace app\controllers;
- use yii\web\Controller;
- class HelloController extends Controller{
- //方法必须以action开头
- public function actionIndex(){
- echo 'hello';
- }
- }
-
访问地址:basic/web/index.php?r=hello/index
参数r后边跟控制器名字/方法名字。
如果需要传递参数:
- <?php
- namespace app\controllers;
- use yii\web\Controller;
- class HelloController extends Controller{
- //方法必须以action开头
- public function actionIndex(){
- $request = \YII::$app->request;
- $id = $request->get('id','');//第二个参数是如果没有传递怎么处理
- echo 'hello,id=' . $id;
- //判断是否是get或post请求
- if($request->isGet){
- echo 'get';
- }
- if($request->isPost){
- echo 'post';
- }
- //获取用户地址
- echo $request->userIP;
- }
- }
-
Yii 框架控制器响应
- public function actionIndex(){
- //控制器响应处理
- $res = \Yii::$app->response;
- //设置状态码
- // $res->statusCode = '404';
- //设置header头
- // $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');
- //方法二
- // $this->redirect('http://www.baidu.com');
- //文件下载
- //方法一
- // $res->headers->add('content-disposition','attachment;filename=a.jpg');
- //方法二
- // $res->sendFile('./robots.txt');
- }
-
更多关于Yii相关内容感兴趣的读者可查看jb51专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。