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 12 PHP
PHP学习之数组值的操作
Apr 17 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
php模板函数 正则实现代码
Oct 15 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
使用PHP Socket写的POP3类
Oct 30 PHP
解密ThinkPHP3.1.2版本之模板继承
Jun 19 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
Feb 10 PHP
分享php分页的功能模块
Jun 16 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
PHP生成图表pChart的示例解析
Jul 31 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 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
用PHP进行MySQL删除记录操作代码
2008/06/07 PHP
php中http_build_query 的一个问题
2012/03/25 PHP
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
js中的闭包学习心得
2018/02/06 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
webpack打包非模块化js的方法
2018/10/24 Javascript
Python中暂存上传图片的方法
2015/02/18 Python
Python Property属性的2种用法
2015/06/21 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
tensorflow多维张量计算实例
2020/02/11 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
在keras中实现查看其训练loss值
2020/06/16 Python
python定时截屏实现
2020/11/02 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
护理学毕业生求职信
2013/11/14 职场文书
四年大学生活的个人自我评价
2013/12/11 职场文书
工作过失检讨书
2014/02/23 职场文书
市场营销工作计划书
2014/05/06 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
三年级学生期末评语
2014/12/26 职场文书
经理助理岗位职责
2015/02/02 职场文书
音乐剧猫观后感
2015/06/04 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书