欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-08-30 09:19:04
本文实例讲述了yii框架命名空间、操作响应与视图操作。分享给大家供大家参考,具体如下: yii基础准备 1.命名空间

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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