YII框架学习笔记之命名空间、操作响应与视图操作示例


Posted in PHP onApril 30, 2019

本文实例讲述了YII框架命名空间、操作响应与视图操作。分享给大家供大家参考,具体如下:

YII基础准备

1.命名空间

<?php
/****假设有三个同名的类,输出的值为A,B,C****/
use a\b\c\apple;
use d\e\f\apple as bApple;
use g\h\i\apple;
$app = new apple();//A
$app = new bApple();//B
$app = new \Apple();//C 调用的是全局的

2.操作响应

<?php 
namespace app\controllers;
use yii\web\Controller;
use yii\data\Pagination;
use app\models\Country;
class CountryController extends Controller
{
  public function actionIndex()//不叫方法叫操作
  {
    $request = \YII::$app->request;//能够获取到url值
    echo $request->get('id',20);//如果没有传参可以设置默认值
    if($request->isGet) //isPut
    {
      echo "this is get method";
    }
    echo $request->userIP;//获取用户IP
    $res = \YII::$app->response;//获取响应状态
    $res->statusCode = 404;//人为设置响应状态码
    //$res->headers->add('pragma','no-cache');//设置head不设置缓存
    $res->headers->set('pragma','max-age=5');//设置head缓存5分?秒钟
    $res->headers->remove('pragma');
    //跳转
    $res->headers->add("location","http://www.baidu.com");
    $this->redirect("http://www.baidu.com",302);
    //文件下载
    $res->headers->add('content-disposition','attachment;filename="a.jpg"');
    $res->sendFile("robots.txt");
  }
}

3. Yii视图操作

<?php
namespace app\controllers;
use yii\web\Controller;
class HelloController extends Controller
{
public function actionIndex()
{
$hellp_str = "hello God!";
$data = array();
$data["view_hello_str"] = $hello_str;
return $this->renderPartial("index",$data);
}
}
?>

views\hello\index.php

$helper_str = "hello world!<script>console.log(111);</script>"
<?php
use yii\helpers\Html;//转义
use yii\helpers\HtmlPurifier;//过滤html
<h1><?= Html::encode($view_hello_str);?></h1> <!--Html::encode() 能防止跨站脚本攻击,转义html标签-->
<h1><?= HtmlPurifier::process($view_hello_str);?></h1>
<?= $this->render('_overview') ?><!--在一个视图中调用另一个视图-->

禁用布局

控制器内控制:

public $layout=false/'layout'

控制器成员方法内控制:

$this->layout=false/'layout'

视图中选择布局:

$this->context->layout=false/'layout'

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
转换中文日期的PHP程序
Oct 09 PHP
简体中文转换为繁体中文的PHP函数
Oct 09 PHP
php自动注册登录验证机制实现代码
Dec 20 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
一个PHP的远程图片抓取函数分享
Sep 25 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
Yii2创建表单(ActiveForm)方法详解
Jul 23 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
PHP 实现文件压缩解压操作的方法
Jun 14 PHP
YII框架关联查询操作示例
Apr 29 #PHP
YII框架页面缓存操作示例
Apr 29 #PHP
YII框架http缓存操作示例
Apr 29 #PHP
PHP常见的几种攻击方式实例小结
Apr 29 #PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 #PHP
详解提高使用Java反射的效率方法
Apr 29 #PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 #PHP
You might like
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
浅谈Angular4实现热加载开发旅程
2017/09/08 Javascript
vue一个页面实现音乐播放器的示例
2018/02/06 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
js实现3D旋转相册
2020/08/02 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
python人人网登录应用实例
2014/09/26 Python
Python中的自省(反射)详解
2015/06/02 Python
在python中实现调用可执行文件.exe的3种方法
2019/07/07 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
优秀应届毕业生自荐信
2013/11/16 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
网络技术专业求职信
2014/05/02 职场文书
课外小组活动总结
2014/08/27 职场文书
小学教师个人总结
2015/02/05 职场文书
现役军人家属慰问信
2015/03/24 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
投资合作意向书范本
2015/05/08 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
如何写好开幕词?
2019/06/24 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python
如何解决.cuda()加载用时很长的问题
2021/05/24 Python