1、安裝簡單
對Web開發(fā)者來說,時(shí)間就是金錢。沒有人會(huì)希望把自己的時(shí)間浪費(fèi)在繁瑣的安裝和配置上。 (推薦學(xué)習(xí):yii框架)
Composer會(huì)來處理安裝程序。而我比較喜歡傾向于使用基本的應(yīng)用模板,哪怕我的站點(diǎn)上有一個(gè)單獨(dú)的前端和后端組件。
相反,我選擇在我站點(diǎn)的后端部分使用一個(gè)模塊。(Yii模塊是迷你應(yīng)用程序的最佳寫照,用來嵌入到你的主應(yīng)用程序中。)
注:后面的很多例子中的目錄引用都使用到了簡單模板的目錄結(jié)構(gòu)。
2、使用現(xiàn)代技術(shù)
Yii是一個(gè)純粹的OOP框架,它充分利用了PHP一些較先進(jìn)的功能,包括延遲靜態(tài)綁定,SPL類和接口,以及匿名函數(shù)。
所有的類都被稱為命名空間,并允許你利用它們的PSR-4兼容的自動(dòng)加載機(jī)。也就是說,包括Yii中的HTML輔助類,也是同樣如此簡單:
use yiihelpersHtml;
Yii還可以定義別名,來幫助簡化你的命名空間。在上面的例子中,use聲明會(huì)加載一個(gè)類定義,目錄中的默認(rèn)路徑為 /vendor/yiisoft/yii2/helpers。這個(gè)別名被定義在BaseYii類中第79行:
public static $aliases = ['@yii' => __DIR__];
3、高度的可擴(kuò)展性
Yii就像一套西裝,看起來很大,但其實(shí)卻很容易調(diào)整來滿足你的需求。實(shí)際上,框架的每個(gè)組件都是可擴(kuò)展的。舉一個(gè)簡單的例子就是,在你的觀點(diǎn)上增加了一個(gè)獨(dú)特的body ID。
4、鼓勵(lì)測試
Yii與Codeception是緊密相連的。Codeception是一個(gè)了不起的PHP測試框架,有助于簡化應(yīng)用創(chuàng)建部件、功能測試和驗(yàn)收測試的過程。
5、簡化安全性
安全性是任何一個(gè)web應(yīng)用的重要組成部分,幸運(yùn)的是,Yii有一些很棒的功能可以幫你解決這方面的煩惱。
Yii帶有一個(gè)安全應(yīng)用組件,其中公開的幾個(gè)方法可以幫助創(chuàng)建一個(gè)更安全的應(yīng)用。其中一些比較有用的方法如下:
·generatePasswordHash: 從一個(gè)密碼和隨機(jī)因子生成一個(gè)安全的單向散列函數(shù)。這種方法為你編譯了一個(gè)隨機(jī)因子,然后通過PHP crypt函數(shù)功能提供的字符串創(chuàng)建了一個(gè)單項(xiàng)散列函數(shù)。
·validatePassword:對于generatePasswordHash,這是一個(gè)伴侶功能,并且允許你檢查用戶提供的密碼是否與你存儲(chǔ)的散列函數(shù)相匹配。
·generateRandomKey:允許你創(chuàng)建一個(gè)任意長度的隨機(jī)字符串。
6、縮短開發(fā)時(shí)間
大多數(shù)項(xiàng)目都會(huì)涉及一定的重復(fù)任務(wù),沒有人愿意浪費(fèi)時(shí)間。而Yii提供的一些工具可以幫助你減少在這些任務(wù)中所花費(fèi)的時(shí)間,將