Yii 框架控制器创建使用及控制器响应操作示例


Posted in PHP onOctober 14, 2019

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php mysql数据库操作类
Jun 04 PHP
浅析php数据类型转换
Jan 09 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 PHP
PHP邮件群发机实现代码
Feb 16 PHP
yii2 页面底部加载css和js的技巧
Apr 21 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
php+webSoket实现聊天室示例代码(附源码)
Feb 17 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
laravel 事件/监听器实例代码
Apr 12 PHP
解决laravel(5.5)访问public报错的问题
Oct 12 PHP
php查看一个变量的占用内存的实例代码
Mar 29 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 #PHP
Yii框架Session与Cookie使用方法示例
Oct 14 #PHP
laravel 修改记住我功能的cookie保存时间的方法
Oct 14 #PHP
解决laravel session失效的问题
Oct 14 #PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 #PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 #PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 #PHP
You might like
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
javascript写的日历类(基于pj)
2010/12/28 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
iframe调用父页面函数示例详解
2014/07/17 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
antd Upload 文件上传的示例代码
2018/12/14 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
python对url格式解析的方法
2015/05/13 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
python 文件转成16进制数组的实例
2018/07/09 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
Python3 翻转二叉树的实现
2019/09/30 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
行政文员岗位职责
2013/11/08 职场文书
岗位职责的定义
2013/11/10 职场文书