Yii是一個PHP框架,用于開發(fā)各種類型的Web應(yīng)用。Yii官方將其定義為高性能、基于組件的框架。
就個人的經(jīng)驗而言,總結(jié)Yii具有以下特點:
Yii比較“潮”。
Yii開發(fā)團隊一直關(guān)注業(yè)內(nèi)Web開發(fā)的最新技術(shù),很注意吸收當(dāng)下最為流行的技術(shù)。 可以說,近年來Web開發(fā)中最潮的技術(shù)都可以在Yii身上或多或少的看到影子。 比如,剛剛開始的時候Yii帶有明顯的Ruby on Rails風(fēng)格; 比如Yii2中剛剛實現(xiàn)的命名空間等PHP最新特性支持等。 一個跟得上潮流和趨勢的框架,才具有吸引力和生命力,學(xué)習(xí)起來才有意思、有意義。
Yii比較“易”。
正如其名字的發(fā)音,Yii是一個比較易學(xué)、易用的框架。代碼質(zhì)量很高,有許多可以學(xué)習(xí)的地方。 注釋清晰、文檔豐富閱讀代碼難度不高。社區(qū)活躍,官方論壇有中文區(qū),國內(nèi)論壇人氣也還OK,知識獲取容易。 架構(gòu)相對穩(wěn)定,從Yii1.1到Y(jié)ii2的變化看,許多原來的約定和沉淀的經(jīng)驗都還適用。
Yii比較“全”。
就Web開發(fā)而言,無論是哪種類型的應(yīng)用、無論是哪個開發(fā)階段的常見問題,Yii都有成熟、高效、可靠的解決方案。 對于典型的Web開發(fā)而言,這已經(jīng)是足夠了。比如,偽靜態(tài)化、國際化、RESTful等,Yii都有提供編程的框架。 但是,從規(guī)模上來講,Yii還算不上一個大型框架。 個人對其的評價是一個中型偏輕點的框架,對于絕大多數(shù)的應(yīng)用開發(fā)而言,肯定是充分、夠用的了。
Yii比較“快”。
Yii官方把運行效率作為一個重要的特點來宣傳。從實際使用看,在諸多PHP框架中,確實效率上具有一定優(yōu)勢。 但個人認(rèn)為這點其實不是最重要的特點。對于框架的使用者,也就是開發(fā)人員來講,更重要的是開發(fā)效率。 由于Yii架構(gòu)合理,Web開發(fā)中常用的思路和模式都可以很順地套上使用。 在Web開發(fā)中經(jīng)常遇到的一些細(xì)節(jié)上的問題,Yii也提供了許多現(xiàn)成解決方案,拿來就可以使用,非常高效、方便。 開發(fā)效率高,對于開發(fā)者、開發(fā)團隊而言,更為重要。
要感謝Yii開發(fā)團隊精益求精的不懈努力,為廣大Web開發(fā)者創(chuàng)造了如此優(yōu)秀的框架。 本人自Yii1.1起就開始接觸并使用Yii了,由于工作和愛好關(guān)系,也接觸過一些框架了??偟恼f,至今對Yii很滿意, 最最心儀的是兩點:學(xué)了Yii,就學(xué)到了許多當(dāng)下最流行、最成熟的東西;開發(fā)起快,改進來快。
Yii2.0的亮點
Yii有兩個最主要的版本:Yii1.1和Yii2.0。Yii1.1是老的版本,在寫這本書時,最新版本號是1.1.15。 Yii1.1現(xiàn)在已經(jīng)不再進行新的開發(fā)了,官方只是進行維護,更新安全漏洞等,不會再有新的功能特性的引入。 而Yii2.0是在Yii1.1的基礎(chǔ)上完全推倒重新寫的一個框架,吸收了許多當(dāng)前最新的技術(shù)和開發(fā)中的主流約定, 是最新一代Web開發(fā)框架的代表。 附錄1:Yii2.0 對比 Yii1.1 的重大改進 部分介紹了Yii2.0對比Yii1.1的重大改進。 下面我們簡單介紹Yii2.0的一些比較突出的特點:
運用了PHP命名空間、Trait、 PSR標(biāo)準(zhǔn) 、Composer和Bower包管理器, 等新技術(shù)新標(biāo)準(zhǔn)。
實現(xiàn)了 依賴注入和依賴注入容器 以及 服務(wù)定位器(Service Locator) 等新架構(gòu)新模式。
Yii2.0格外重視安全性,采取一系列手段有效防止SQL注入、XSS攻擊、CSRF攻擊、cookie篡改等。
廣泛支持各類SQL和NOSQL數(shù)據(jù)庫,高效實現(xiàn)了Active Record等數(shù)據(jù)庫查詢、操作界面,提供數(shù)據(jù)庫遷移、復(fù)制、 讀寫分離等功能。
只需極少量的代碼就可以實現(xiàn)完全符合標(biāo)準(zhǔn)的RESTful API。
支持各種粒度、介質(zhì)的緩存機制。
提供多種認(rèn)證和授權(quán)手段基于cookie和基于令牌的認(rèn)證,RBAC等權(quán)限控制手段,支持OpenID,OAuth1,OAuth2等。
支持Bootstrap,jQuery UI,提供了豐富的Widget掛件供使用。
完善的國際化支持,提供符合 ICU標(biāo)準(zhǔn) 的時間、復(fù)數(shù)等格式化工具和消息翻譯、視圖翻譯等功能。
除了支持Twig和Smarty 2個主流的PHP模版引擎外,開發(fā)者還可以自己寫擴展支持其他引擎。
為苦命碼農(nóng)提供了 Yii調(diào)試工具條 和 Gii代碼生成器 以及 文檔生成器 等高效開發(fā)工具。
集成了 Codeception 和 Faker,并與DB Migration相結(jié)合,提供了一個fixture框架,方便測試開發(fā)。
提供了一個簡單應(yīng)用模板和高級應(yīng)用模板,適用于不同的開發(fā)場景,都可以幫助開發(fā)者盡快搭建起自己的應(yīng)用。
詳細(xì)的Yii2.0功能特性,請查看 官方說明 。
背景知識
請留意,雖然本書以Yii2為主要內(nèi)容,但并不要求讀者具有Yii1.1的開發(fā)經(jīng)驗。 雖然具有這些背景知識可以更快的掌握Yii2,但在講解過程中,本書會幫助沒有Yii1.1相關(guān)知識的讀者補充有關(guān)的概念。 只要有了這些概念,讀者并不需要從頭學(xué)習(xí)Yii1.1,就可以直接上手Yii2了。
當(dāng)然,Yii作為一個PHP框架,讀者朋友最好能夠了解一下PHP,并不需要多精通,只需要看得懂代碼,會寫簡單的代碼, 編程的時候大概知道要使用哪些函數(shù),就基本足夠了,邊用邊學(xué),也是一種學(xué)習(xí)方法。
同時,Yii還是一個面向?qū)ο蟮目蚣?。這意味著在代碼組織和問題解決的思路上,Yii都體現(xiàn)了面向?qū)ο蟮乃枷搿?要用Yii來開發(fā),最好也要遵循這一思想。因此,讀者最好對面向?qū)ο缶幊逃幸欢ǖ牧私狻?其實,看一個程序員水平的高低,不單是對于某種語言、某種開發(fā)框架的熟練程度。 更重要的,是看其解決問題的思路和方法。其中一大類方法就是面向?qū)ο蠓椒ā?從這點來看,雖然學(xué)習(xí)和使用Yii并不需要多高深的面向?qū)ο蟮姆椒ā?但作為過來人,還是希望各位讀者朋友可以系統(tǒng)地、全面地學(xué)習(xí)面向?qū)ο蟮拈_發(fā)方法。 特別是Web開發(fā)中常用的設(shè)計模式,本書也會在涉及到時,進行專門講解。
如何閱讀本書
這不是一本“快速入門”、“一周精通”的書,本書的一個非常重要的目的和出發(fā)點是剖析Yii2.0的原理,使讀者既知其然, 又知其所以然,這就注定了不可能一蹴而就。書中有大量的代碼,需要剖析數(shù)據(jù)結(jié)構(gòu)、追溯調(diào)用堆棧、跟蹤代碼流程。 雖然我們力求生動、簡潔,但讀者朋友們還是要有“古佛青燈”的心理準(zhǔn)備,不浮、不躁,潛心練好內(nèi)功,扎實錘煉底子, 早日練成絕活。
在內(nèi)容上,本書直指Yii2.0的本質(zhì),求精不求全,對于相關(guān)的PHP、HTTP等諸多知識最多在講到時點一點,淺償輒止, 沒能夠展開介紹。因此,對于涉及到的關(guān)聯(lián)知識、背景知識,要充分利用搜索引擎等工具,進行自學(xué)和補充。
在篇章結(jié)構(gòu)上,本書總體上按照逐步深入的格局安排內(nèi)容。同時,各部分的內(nèi)容又保持相對獨立, 盡量做到每個單獨頁面的內(nèi)容,都可獨立成篇。 因此,初次接觸Yii2.0的讀者朋友,建議循序漸進,依次閱讀。 而具有一定基礎(chǔ)的讀者則可以根據(jù)個人興趣愛好,自由選擇學(xué)習(xí)切入點,在遇到有疑問的知識點時, 再按圖索驥查找相關(guān)的頁面。
在 Yii 基礎(chǔ) 部分,依次介紹了 屬性(Property) ,事件(Event) ,行為(Behavior) 等Yii中最基礎(chǔ)的知識, 是理解整個Yii框架的最基本的概念。
在 Yii 約定 部分,主要講解了Yii約定俗成的一些套路、設(shè)定,解決的是在開發(fā)者未作任何指定的情況下, Yii的默認(rèn)行為方式的問題,用于加深對Yii實際使用的理解。這一部分主要包括 Yii應(yīng)用的目錄結(jié)構(gòu)和入口腳本 , 別名(Alias) , Yii的類自動加載機制 , 環(huán)境和配置文件 , 配置項(Configuration) 等內(nèi)容。
在 Yii 模式 部分,剖析了Yii是如何實現(xiàn)一些當(dāng)前Web開發(fā)中最主流和成熟的設(shè)計模式。 學(xué)習(xí)這些設(shè)計模式,有助于深入理解Yii的機制,更難得的是提高讀者朋友自身的開發(fā)設(shè)計水平。 這一部分主要講了 MVC , 依賴注入和依賴注入容器 , 服務(wù)定位器(Service Locator) 三種設(shè)計模式。
本站聲明
本站所有資源均由網(wǎng)友貢獻發(fā)布,或轉(zhuǎn)載各大下載站。請自行檢查軟件的完整性!本網(wǎng)站所有資源僅供學(xué)習(xí)和參考。請勿用于商業(yè)用途,否則造成的一切后果由您自行負(fù)責(zé)!如有侵權(quán),請聯(lián)系我們刪除下架。聯(lián)系方式:admin@php.cn
相關(guān)推薦
深入理解Yii2-0
深入理解Yii2-0
網(wǎng)頁制作
2018-02-02
《深入理解Bootstrap》
《深入理解Bootstrap》
網(wǎng)頁制作
2017-12-15
深入理解Bootstrap-徐濤著
深入理解神奇的Bootstrap
php電子書
2018-03-03
深入理解神奇的Bootstrap
深入理解神奇的Bootstrap
網(wǎng)頁制作
2018-01-19
黑馬云課堂8天深入理解Python視頻教程課件資料
8天深入理解Python視頻教程課件資料
課件源碼
2017-08-16
深入理解php:高級技巧、面向?qū)ο笈c核心技術(shù)(原書第3版) 中文pdf掃描版[76MB]
深入理解php:高級技巧、面向?qū)ο笈c核心技術(shù)(原書第3版) 中文pdf掃描版[76MB]
php電子書
2017-09-30
手工烘焙美食網(wǎng)站模板
手工烘焙美食網(wǎng)站模板網(wǎng)站模板是一款提供各種手工烘焙美食宣傳網(wǎng)站模板下載。提示:本模板調(diào)用到谷歌字體庫,可能會出現(xiàn)頁面打開比較緩慢。
前端模板
2023-10-30
現(xiàn)代人工智能寫作服務(wù)公司網(wǎng)站模板
現(xiàn)代人工智能寫作服務(wù)公司網(wǎng)站模板是一款提供人工智能寫作服務(wù)的公司宣傳網(wǎng)站模板下載。提示:本模板調(diào)用到谷歌字體庫,可能會出現(xiàn)頁面打開比較緩慢。
前端模板
2023-10-30
熱門推薦
TP5實戰(zhàn)_教學(xué)管理系統(tǒng)整站源碼
本套教程,以一個真實的學(xué)校教學(xué)管理系統(tǒng)為案例,手把手教會您如何在一張白紙上,從零開始,一步一步的用ThinkPHP5框架快速開發(fā)出一個商業(yè)項目,讓您快速入門TP5項目開發(fā)。
課件源碼
2017-08-11
php常用函數(shù)總結(jié)表
php常用的函數(shù),開發(fā)會經(jīng)常需要用上的函數(shù)
課件源碼
2017-08-26
PHP實戰(zhàn)天龍八部之仿愛奇藝電影網(wǎng)站課件
PHP實戰(zhàn)天龍八部之仿愛奇藝電影網(wǎng)站課件
課件源碼
2018-04-16
TP5企業(yè)站開發(fā)源碼
本站《ThinkPHP5企業(yè)站點快速開發(fā)課程》配套
課件源碼
2017-08-21
Thinkphp6.0正式版視頻教程
Thinkphp6.0正式版視頻教程
課件源碼
2021-12-03
thinkphp3.2.3博客模版
thinkphp3.2.3博客模版
課件源碼
2017-08-14
通用后臺管理系統(tǒng)實戰(zhàn)開發(fā)(Thinkphp6+Layui)相關(guān)課件
通用后臺管理系統(tǒng)實戰(zhàn)開發(fā)(Thinkphp6+Layui)相關(guān)課件
課件源碼
2021-09-27
ThinkPHP5商城項目實戰(zhàn)視頻教程課件源碼
ThinkPHP5商城項目實戰(zhàn)視頻教程課件源碼
課件源碼
2017-08-28
第49~58天教學(xué)源碼
第49~58天教學(xué)源碼
vip課件源碼
2018-02-03
直播課_Blog項目源碼
直播課_Blog項目源碼
課件源碼
2017-09-18