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 substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
Dec 16 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
php中使用接口实现工厂设计模式的代码
Jun 17 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
php获取qq用户昵称和在线状态(实例分析)
Oct 27 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
php去除头尾空格的2种方法
Mar 16 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 PHP
基于PHP实现发微博动态代码实例
Dec 11 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
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
js charAt的使用示例
2014/02/18 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
react-router中的属性详解
2017/06/01 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
python map比for循环快在哪
2020/09/21 Python
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
Unix如何在一行中运行多个命令
2015/05/29 面试题
小学生操行评语
2014/04/22 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
语文复习计划
2015/01/19 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python
Python合并pdf文件的工具
2021/07/01 Python