Yii是一個(gè)PHP框架,用于開發(fā)各種類型的Web應(yīng)用。Yii官方將其定義為高性能、基于組件的框架。

就個(gè)人的經(jīng)驗(yàn)而言,總結(jié)Yii具有以下特點(diǎn):

Yii比較“潮”。
Yii開發(fā)團(tuán)隊(duì)一直關(guān)注業(yè)內(nèi)Web開發(fā)的最新技術(shù),很注意吸收當(dāng)下最為流行的技術(shù)。 可以說(shuō),近年來(lái)Web開發(fā)中最潮的技術(shù)都可以在Yii身上或多或少的看到影子。 比如,剛剛開始的時(shí)候Yii帶有明顯的Ruby on Rails風(fēng)格; 比如Yii2中剛剛實(shí)現(xiàn)的命名空間等PHP最新特性支持等。 一個(gè)跟得上潮流和趨勢(shì)的框架,才具有吸引力和生命力,學(xué)習(xí)起來(lái)才有意思、有意義。
Yii比較“易”。
正如其名字的發(fā)音,Yii是一個(gè)比較易學(xué)、易用的框架。代碼質(zhì)量很高,有許多可以學(xué)習(xí)的地方。 注釋清晰、文檔豐富閱讀代碼難度不高。社區(qū)活躍,官方論壇有中文區(qū),國(guó)內(nèi)論壇人氣也還OK,知識(shí)獲取容易。 架構(gòu)相對(duì)穩(wěn)定,從Yii1.1到Y(jié)ii2的變化看,許多原來(lái)的約定和沉淀的經(jīng)驗(yàn)都還適用。
Yii比較“全”。
就Web開發(fā)而言,無(wú)論是哪種類型的應(yīng)用、無(wú)論是哪個(gè)開發(fā)階段的常見問(wèn)題,Yii都有成熟、高效、可靠的解決方案。 對(duì)于典型的Web開發(fā)而言,這已經(jīng)是足夠了。比如,偽靜態(tài)化、國(guó)際化、RESTful等,Yii都有提供編程的框架。 但是,從規(guī)模上來(lái)講,Yii還算不上一個(gè)大型框架。 個(gè)人對(duì)其的評(píng)價(jià)是一個(gè)中型偏輕點(diǎn)的框架,對(duì)于絕大多數(shù)的應(yīng)用開發(fā)而言,肯定是充分、夠用的了。
Yii比較“快”。
Yii官方把運(yùn)行效率作為一個(gè)重要的特點(diǎn)來(lái)宣傳。從實(shí)際使用看,在諸多PHP框架中,確實(shí)效率上具有一定優(yōu)勢(shì)。 但個(gè)人認(rèn)為這點(diǎn)其實(shí)不是最重要的特點(diǎn)。對(duì)于框架的使用者,也就是開發(fā)人員來(lái)講,更重要的是開發(fā)效率。 由于Yii架構(gòu)合理,Web開發(fā)中常用的思路和模式都可以很順地套上使用。 在Web開發(fā)中經(jīng)常遇到的一些細(xì)節(jié)上的問(wèn)題,Yii也提供了許多現(xiàn)成解決方案,拿來(lái)就可以使用,非常高效、方便。 開發(fā)效率高,對(duì)于開發(fā)者、開發(fā)團(tuán)隊(duì)而言,更為重要。
要感謝Yii開發(fā)團(tuán)隊(duì)精益求精的不懈努力,為廣大Web開發(fā)者創(chuàng)造了如此優(yōu)秀的框架。 本人自Yii1.1起就開始接觸并使用Yii了,由于工作和愛好關(guān)系,也接觸過(guò)一些框架了??偟恼f(shuō),至今對(duì)Yii很滿意, 最最心儀的是兩點(diǎn):學(xué)了Yii,就學(xué)到了許多當(dāng)下最流行、最成熟的東西;開發(fā)起快,改進(jìn)來(lái)快。

Yii2.0的亮點(diǎn)

Yii有兩個(gè)最主要的版本:Yii1.1和Yii2.0。Yii1.1是老的版本,在寫這本書時(shí),最新版本號(hào)是1.1.15。 Yii1.1現(xiàn)在已經(jīng)不再進(jìn)行新的開發(fā)了,官方只是進(jìn)行維護(hù),更新安全漏洞等,不會(huì)再有新的功能特性的引入。 而Yii2.0是在Yii1.1的基礎(chǔ)上完全推倒重新寫的一個(gè)框架,吸收了許多當(dāng)前最新的技術(shù)和開發(fā)中的主流約定, 是最新一代Web開發(fā)框架的代表。 附錄1:Yii2.0 對(duì)比 Yii1.1 的重大改進(jìn) 部分介紹了Yii2.0對(duì)比Yii1.1的重大改進(jìn)。 下面我們簡(jiǎn)單介紹Yii2.0的一些比較突出的特點(diǎn):

運(yùn)用了PHP命名空間、Trait、 PSR標(biāo)準(zhǔn) 、Composer和Bower包管理器, 等新技術(shù)新標(biāo)準(zhǔn)。
實(shí)現(xiàn)了 依賴注入和依賴注入容器 以及 服務(wù)定位器(Service Locator) 等新架構(gòu)新模式。
Yii2.0格外重視安全性,采取一系列手段有效防止SQL注入、XSS攻擊、CSRF攻擊、cookie篡改等。
廣泛支持各類SQL和NOSQL數(shù)據(jù)庫(kù),高效實(shí)現(xiàn)了Active Record等數(shù)據(jù)庫(kù)查詢、操作界面,提供數(shù)據(jù)庫(kù)遷移、復(fù)制、 讀寫分離等功能。
只需極少量的代碼就可以實(shí)現(xiàn)完全符合標(biāo)準(zhǔn)的RESTful API。
支持各種粒度、介質(zhì)的緩存機(jī)制。
提供多種認(rèn)證和授權(quán)手段基于cookie和基于令牌的認(rèn)證,RBAC等權(quán)限控制手段,支持OpenID,OAuth1,OAuth2等。
支持Bootstrap,jQuery UI,提供了豐富的Widget掛件供使用。
完善的國(guó)際化支持,提供符合 ICU標(biāo)準(zhǔn) 的時(shí)間、復(fù)數(shù)等格式化工具和消息翻譯、視圖翻譯等功能。
除了支持Twig和Smarty 2個(gè)主流的PHP模版引擎外,開發(fā)者還可以自己寫擴(kuò)展支持其他引擎。
為苦命碼農(nóng)提供了 Yii調(diào)試工具條 和 Gii代碼生成器 以及 文檔生成器 等高效開發(fā)工具。
集成了 Codeception 和 Faker,并與DB Migration相結(jié)合,提供了一個(gè)fixture框架,方便測(cè)試開發(fā)。
提供了一個(gè)簡(jiǎn)單應(yīng)用模板和高級(jí)應(yīng)用模板,適用于不同的開發(fā)場(chǎng)景,都可以幫助開發(fā)者盡快搭建起自己的應(yīng)用。
詳細(xì)的Yii2.0功能特性,請(qǐng)查看 官方說(shuō)明 。

背景知識(shí)

請(qǐng)留意,雖然本書以Yii2為主要內(nèi)容,但并不要求讀者具有Yii1.1的開發(fā)經(jīng)驗(yàn)。 雖然具有這些背景知識(shí)可以更快的掌握Yii2,但在講解過(guò)程中,本書會(huì)幫助沒有Yii1.1相關(guān)知識(shí)的讀者補(bǔ)充有關(guān)的概念。 只要有了這些概念,讀者并不需要從頭學(xué)習(xí)Yii1.1,就可以直接上手Yii2了。

當(dāng)然,Yii作為一個(gè)PHP框架,讀者朋友最好能夠了解一下PHP,并不需要多精通,只需要看得懂代碼,會(huì)寫簡(jiǎn)單的代碼, 編程的時(shí)候大概知道要使用哪些函數(shù),就基本足夠了,邊用邊學(xué),也是一種學(xué)習(xí)方法。

同時(shí),Yii還是一個(gè)面向?qū)ο蟮目蚣?。這意味著在代碼組織和問(wèn)題解決的思路上,Yii都體現(xiàn)了面向?qū)ο蟮乃枷搿?要用Yii來(lái)開發(fā),最好也要遵循這一思想。因此,讀者最好對(duì)面向?qū)ο缶幊逃幸欢ǖ牧私狻?其實(shí),看一個(gè)程序員水平的高低,不單是對(duì)于某種語(yǔ)言、某種開發(fā)框架的熟練程度。 更重要的,是看其解決問(wèn)題的思路和方法。其中一大類方法就是面向?qū)ο蠓椒ā?從這點(diǎn)來(lái)看,雖然學(xué)習(xí)和使用Yii并不需要多高深的面向?qū)ο蟮姆椒ā?但作為過(guò)來(lái)人,還是希望各位讀者朋友可以系統(tǒng)地、全面地學(xué)習(xí)面向?qū)ο蟮拈_發(fā)方法。 特別是Web開發(fā)中常用的設(shè)計(jì)模式,本書也會(huì)在涉及到時(shí),進(jìn)行專門講解。

如何閱讀本書

這不是一本“快速入門”、“一周精通”的書,本書的一個(gè)非常重要的目的和出發(fā)點(diǎn)是剖析Yii2.0的原理,使讀者既知其然, 又知其所以然,這就注定了不可能一蹴而就。書中有大量的代碼,需要剖析數(shù)據(jù)結(jié)構(gòu)、追溯調(diào)用堆棧、跟蹤代碼流程。 雖然我們力求生動(dòng)、簡(jiǎn)潔,但讀者朋友們還是要有“古佛青燈”的心理準(zhǔn)備,不浮、不躁,潛心練好內(nèi)功,扎實(shí)錘煉底子, 早日練成絕活。

在內(nèi)容上,本書直指Yii2.0的本質(zhì),求精不求全,對(duì)于相關(guān)的PHP、HTTP等諸多知識(shí)最多在講到時(shí)點(diǎn)一點(diǎn),淺償輒止, 沒能夠展開介紹。因此,對(duì)于涉及到的關(guān)聯(lián)知識(shí)、背景知識(shí),要充分利用搜索引擎等工具,進(jìn)行自學(xué)和補(bǔ)充。

在篇章結(jié)構(gòu)上,本書總體上按照逐步深入的格局安排內(nèi)容。同時(shí),各部分的內(nèi)容又保持相對(duì)獨(dú)立, 盡量做到每個(gè)單獨(dú)頁(yè)面的內(nèi)容,都可獨(dú)立成篇。 因此,初次接觸Yii2.0的讀者朋友,建議循序漸進(jìn),依次閱讀。 而具有一定基礎(chǔ)的讀者則可以根據(jù)個(gè)人興趣愛好,自由選擇學(xué)習(xí)切入點(diǎn),在遇到有疑問(wèn)的知識(shí)點(diǎn)時(shí), 再按圖索驥查找相關(guān)的頁(yè)面。

在 Yii 基礎(chǔ) 部分,依次介紹了 屬性(Property) ,事件(Event) ,行為(Behavior) 等Yii中最基礎(chǔ)的知識(shí), 是理解整個(gè)Yii框架的最基本的概念。

在 Yii 約定 部分,主要講解了Yii約定俗成的一些套路、設(shè)定,解決的是在開發(fā)者未作任何指定的情況下, Yii的默認(rèn)行為方式的問(wèn)題,用于加深對(duì)Yii實(shí)際使用的理解。這一部分主要包括 Yii應(yīng)用的目錄結(jié)構(gòu)和入口腳本 , 別名(Alias) , Yii的類自動(dòng)加載機(jī)制 , 環(huán)境和配置文件 , 配置項(xiàng)(Configuration) 等內(nèi)容。

在 Yii 模式 部分,剖析了Yii是如何實(shí)現(xiàn)一些當(dāng)前Web開發(fā)中最主流和成熟的設(shè)計(jì)模式。 學(xué)習(xí)這些設(shè)計(jì)模式,有助于深入理解Yii的機(jī)制,更難得的是提高讀者朋友自身的開發(fā)設(shè)計(jì)水平。 這一部分主要講了 MVC , 依賴注入和依賴注入容器 , 服務(wù)定位器(Service Locator) 三種設(shè)計(jì)模式。

本站聲明
本站所有資源均由網(wǎng)友貢獻(xiàn)發(fā)布,或轉(zhuǎn)載各大下載站。請(qǐng)自行檢查軟件的完整性!本網(wǎng)站所有資源僅供學(xué)習(xí)和參考。請(qǐng)勿用于商業(yè)用途,否則造成的一切后果由您自行負(fù)責(zé)!如有侵權(quán),請(qǐng)聯(lián)系我們刪除下架。聯(lián)系方式:admin@php.cn

相關(guān)推薦

深入理解Yii2-0

深入理解Yii2-0

《深入理解Bootstrap》

《深入理解Bootstrap》

深入理解Bootstrap-徐濤著

深入理解神奇的Bootstrap
php電子書
2018-03-03

深入理解神奇的Bootstrap

深入理解神奇的Bootstrap

黑馬云課堂8天深入理解Python視頻教程課件資料

8天深入理解Python視頻教程課件資料
課件源碼
2017-08-16

深入理解php:高級(jí)技巧、面向?qū)ο笈c核心技術(shù)(原書第3版) 中文pdf掃描版[76MB]

深入理解php:高級(jí)技巧、面向?qū)ο笈c核心技術(shù)(原書第3版) 中文pdf掃描版[76MB]
php電子書
2017-09-30

手工烘焙美食網(wǎng)站模板

手工烘焙美食網(wǎng)站模板網(wǎng)站模板是一款提供各種手工烘焙美食宣傳網(wǎng)站模板下載。提示:本模板調(diào)用到谷歌字體庫(kù),可能會(huì)出現(xiàn)頁(yè)面打開比較緩慢。
前端模板
2023-10-30

現(xiàn)代人工智能寫作服務(wù)公司網(wǎng)站模板

現(xiàn)代人工智能寫作服務(wù)公司網(wǎng)站模板是一款提供人工智能寫作服務(wù)的公司宣傳網(wǎng)站模板下載。提示:本模板調(diào)用到谷歌字體庫(kù),可能會(huì)出現(xiàn)頁(yè)面打開比較緩慢。
前端模板
2023-10-30

熱門推薦

TP5實(shí)戰(zhàn)_教學(xué)管理系統(tǒng)整站源碼

本套教程,以一個(gè)真實(shí)的學(xué)校教學(xué)管理系統(tǒng)為案例,手把手教會(huì)您如何在一張白紙上,從零開始,一步一步的用ThinkPHP5框架快速開發(fā)出一個(gè)商業(yè)項(xiàng)目,讓您快速入門TP5項(xiàng)目開發(fā)。
課件源碼
2017-08-11

php常用函數(shù)總結(jié)表

php常用的函數(shù),開發(fā)會(huì)經(jīng)常需要用上的函數(shù)
課件源碼
2017-08-26

PHP實(shí)戰(zhàn)天龍八部之仿愛奇藝電影網(wǎng)站課件

PHP實(shí)戰(zhàn)天龍八部之仿愛奇藝電影網(wǎng)站課件
課件源碼
2018-04-16

TP5企業(yè)站開發(fā)源碼

本站《ThinkPHP5企業(yè)站點(diǎn)快速開發(fā)課程》配套
課件源碼
2017-08-21

Thinkphp6.0正式版視頻教程

Thinkphp6.0正式版視頻教程
課件源碼
2021-12-03

thinkphp3.2.3博客模版

thinkphp3.2.3博客模版
課件源碼
2017-08-14

通用后臺(tái)管理系統(tǒng)實(shí)戰(zhàn)開發(fā)(Thinkphp6+Layui)相關(guān)課件

通用后臺(tái)管理系統(tǒng)實(shí)戰(zhàn)開發(fā)(Thinkphp6+Layui)相關(guān)課件
課件源碼
2021-09-27

ThinkPHP5商城項(xiàng)目實(shí)戰(zhàn)視頻教程課件源碼

ThinkPHP5商城項(xiàng)目實(shí)戰(zhàn)視頻教程課件源碼
課件源碼
2017-08-28

第49~58天教學(xué)源碼

第49~58天教學(xué)源碼
vip課件源碼
2018-02-03

直播課_Blog項(xiàng)目源碼

直播課_Blog項(xiàng)目源碼
課件源碼
2017-09-18