YII框架學(xué)習(xí)筆記之命名空間、操作響應(yīng)與視圖操作示例
本文實(shí)例講述了YII框架命名空間、操作響應(yīng)與視圖操作。分享給大家供大家參考,具體如下:
YII基礎(chǔ)準(zhǔn)備
1.命名空間
<?php /****假設(shè)有三個(gè)同名的類(lèi),輸出的值為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 調(diào)用的是全局的
2.操作響應(yīng)
<?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);//如果沒(méi)有傳參可以設(shè)置默認(rèn)值
if($request->isGet) //isPut
{
echo "this is get method";
}
echo $request->userIP;//獲取用戶(hù)IP
$res = \YII::$app->response;//獲取響應(yīng)狀態(tài)
$res->statusCode = 404;//人為設(shè)置響應(yīng)狀態(tài)碼
//$res->headers->add('pragma','no-cache');//設(shè)置head不設(shè)置緩存
$res->headers->set('pragma','max-age=5');//設(shè)置head緩存5分?秒鐘
$res->headers->remove('pragma');
//跳轉(zhuǎn)
$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;//轉(zhuǎn)義
use yii\helpers\HtmlPurifier;//過(guò)濾html
<h1><?= Html::encode($view_hello_str);?></h1> <!--Html::encode() 能防止跨站腳本攻擊,轉(zhuǎn)義html標(biāo)簽-->
<h1><?= HtmlPurifier::process($view_hello_str);?></h1>
<?= $this->render('_overview') ?><!--在一個(gè)視圖中調(diào)用另一個(gè)視圖-->
禁用布局
控制器內(nèi)控制:
public $layout=false/'layout'
控制器成員方法內(nèi)控制:
$this->layout=false/'layout'
視圖中選擇布局:
$this->context->layout=false/'layout'
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- Yii框架視圖、視圖布局、視圖數(shù)據(jù)塊操作示例
- Yii框架的布局文件實(shí)例分析
- PHP的Yii框架中View視圖的使用進(jìn)階
- PHP的Yii框架中創(chuàng)建視圖和渲染視圖的方法詳解
- Yii控制器中操作視圖js的方法
- Yii視圖操作之自定義分頁(yè)實(shí)現(xiàn)方法
- YII視圖整合kindeditor擴(kuò)展的方法
- Yii2框架視圖(View)操作及Layout的使用方法分析
- Yii視圖CGridView實(shí)現(xiàn)操作按鈕定義地址示例
- Yii視圖CGridView列表用法實(shí)例分析
- Yii框架布局文件的動(dòng)態(tài)切換操作示例
相關(guān)文章
php 單例模式詳細(xì)介紹及實(shí)現(xiàn)源碼
這篇文章主要介紹了php 單例模式詳細(xì)介紹及實(shí)現(xiàn)源碼的相關(guān)資料,需要的朋友可以參考下2016-11-11
Laravel框架實(shí)現(xiàn)利用監(jiān)聽(tīng)器進(jìn)行sql語(yǔ)句記錄功能
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)利用監(jiān)聽(tīng)器進(jìn)行sql語(yǔ)句記錄功能,結(jié)合實(shí)例形式分析了Laravel框架監(jiān)聽(tīng)器的創(chuàng)建、引入以及使用監(jiān)聽(tīng)器記錄sql語(yǔ)句的相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
PHP下用Swoole實(shí)現(xiàn)Actor并發(fā)模型的方法
這篇文章主要介紹了PHP下用Swoole實(shí)現(xiàn)Actor并發(fā)模型的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
php+iframe實(shí)現(xiàn)隱藏?zé)o刷新上傳文件
首先ajax不能上傳文件,這誤導(dǎo)了我有段時(shí)間,今晚睡不著就照著說(shuō)明做了個(gè)無(wú)刷新上傳文件2012-02-02
php+mysql+ajax 局部刷新點(diǎn)贊/取消點(diǎn)贊功能(每個(gè)賬號(hào)只點(diǎn)贊一次)
這篇文章主要介紹了php+mysql+ajax 局部刷新點(diǎn)贊/取消點(diǎn)贊功能(每個(gè)賬號(hào)只點(diǎn)贊一次),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
使用Yii2實(shí)現(xiàn)主從數(shù)據(jù)庫(kù)設(shè)置
大家應(yīng)該都知道,當(dāng)項(xiàng)目做大了,數(shù)據(jù)庫(kù)主從還是不可少的。使用Yii框架開(kāi)發(fā),如何設(shè)置數(shù)據(jù)庫(kù)的主從呢?其實(shí)很簡(jiǎn)單。下面這篇文章就給大家詳細(xì)介紹了使用Yii2實(shí)現(xiàn)主從數(shù)據(jù)庫(kù)設(shè)置的方法,文中介紹的很詳細(xì),相信對(duì)大家的理解和學(xué)習(xí)很有幫助,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11
PHP讀取大文件的類(lèi)SplFileObject使用介紹
一般讀取文件我們用fopen 或者 file_get_contents ,前者可以循環(huán)讀取,后者可以一次性讀取,但都是將文件內(nèi)容一次性加載來(lái)操作。2014-04-04
php 多文件上傳的實(shí)現(xiàn)實(shí)例
在php中,實(shí)現(xiàn)文件上傳時(shí)一個(gè)很簡(jiǎn)單的事情,但是如果我們要一次上傳多個(gè)文件,那又該如何編寫(xiě)代碼呢?,需要的朋友可以參考下2016-10-10
通過(guò)5個(gè)php實(shí)例細(xì)致說(shuō)明傳值與傳引用的區(qū)別
今天有個(gè)同事問(wèn)我傳值和傳引用有什么不同,這讓我想起了,剛學(xué)php的時(shí)候,那個(gè)時(shí)候做過(guò)很多項(xiàng)目,做東西多,就以為自己php掌握的差不多了,隨著時(shí)間的推移,越深入的學(xué)習(xí),越覺(jué)得自己知道的真的很少,很少2012-08-08

