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 相关文章推荐
图书管理程序(三)
Oct 09 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
php绘图中显示不出图片的原因及解决
Mar 05 PHP
php下载文件源代码(强制任意文件格式下载)
May 09 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 PHP
PHP实现的英文名字全拼随机排号脚本
Jul 04 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 PHP
php+js实现百度地图多点标注的方法
Nov 30 PHP
php实现简单四则运算器
Nov 29 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学习笔记之数组篇
2011/06/28 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
jQuery源码分析-01总体架构分析
2011/11/14 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
script标签属性用type还是language
2015/01/21 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
Javascript实现找不同色块的游戏
2017/07/17 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
python计算N天之后日期的方法
2015/03/31 Python
python中base64加密解密方法实例分析
2015/05/16 Python
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
python交互式图形编程实例(一)
2017/11/17 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
StubHub德国:购买和出售门票
2017/09/06 全球购物
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
自考生毕业自我鉴定
2013/10/10 职场文书
30岁生日感言
2014/01/25 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
财务工作个人总结
2015/02/27 职场文书
学术研讨会主持词
2015/07/04 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS
总结python多进程multiprocessing的相关知识
2021/06/29 Python
浅析Python OpenCV三种滤镜效果
2022/04/11 Python