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下用rmdir实现删除目录的三种方法小结
Apr 20 PHP
php中的常用魔术方法总结
Aug 02 PHP
php ckeditor上传图片文件名乱码解决方法
Nov 15 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
php购物车实现方法
Jan 03 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
thinkPHP5实现数据库添加内容的方法
Oct 25 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 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
Windows下安装Memcached的步骤说明
2010/04/25 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
使用python遍历指定城市的一周气温
2017/03/31 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
Python 互换字典的键值对实例
2019/02/12 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
python 的topk算法实例
2020/04/02 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
汽车工程专业应届生求职信
2013/10/19 职场文书
行政助理岗位职责范文
2013/12/03 职场文书
青年文明号口号
2014/06/17 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
了解Redis常见应用场景
2021/06/23 Redis
无线电知识基础入门篇
2022/02/18 无线电