這篇文章主要介紹Yii是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
10余年的建湖網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整建湖建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“建湖網(wǎng)站設(shè)計(jì)”,“建湖網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
Yii是一個(gè)高性能的,適用于開(kāi)發(fā)WEB2.0應(yīng)用的PHP框架。
Yii自帶了豐富的功能 ,包括MVC,DAO/ActiveRecord,I18N/L10N,緩存,身份驗(yàn)證和基于角色的訪問(wèn)控制,腳手架,測(cè)試等,可顯著縮短開(kāi)發(fā)時(shí)間
官方網(wǎng)站:http://www.yiiframework.com/
Yii快速
Yii 只加載您需要的功能。它具有強(qiáng)大的緩存支持。它明確的設(shè)計(jì)能與 AJAX 一起高效率的工作。
Yii安全
Yii 的標(biāo)準(zhǔn)是安全的。它包括了輸入驗(yàn)證,輸出過(guò)濾,SQL 注入和跨站點(diǎn)腳本的預(yù)防。
專業(yè)
Yii 可幫助您開(kāi)發(fā)清潔和可重用的代碼。它遵循了 MVC 模式,確保了清晰分離邏輯層和表示層。
Yii Framework是一個(gè)基于組件、用于開(kāi)發(fā)大型 Web 應(yīng)用的高性能 PHP 框架。Yii提供了今日Web 2.0應(yīng)用開(kāi)發(fā)所需要的幾乎一切功能。Yii是最有效率的PHP框架之一。Yii是創(chuàng)始人薛強(qiáng)的心血結(jié)晶,于2008年1月1日開(kāi)始開(kāi)發(fā)。
Yii是一個(gè)基于組件的高性能PHP框架,用于開(kāi)發(fā)大型Web應(yīng)用。Yii采用嚴(yán)格的OOP編寫,并有著完善的庫(kù)引用以及全面的教程。從 MVC,DAO/ActiveRecord,widgets,caching,等級(jí)式RBAC,Web服務(wù),到主題化,I18N和L10N,Yii提供了今日Web 2.0應(yīng)用開(kāi)發(fā)所需要的幾乎一切功能。事實(shí)上,Yii是最有效率的PHP框架之一。
Yii是一個(gè)高性能的PHP5的web應(yīng)用程序開(kāi)發(fā)框架。通過(guò)一個(gè)簡(jiǎn)單的命令行工具 yiic 可以快速創(chuàng)建一個(gè)web應(yīng)用程序的代碼框架,開(kāi)發(fā)者可以在生成的代碼框架基礎(chǔ)上添加業(yè)務(wù)邏輯,以快速完成應(yīng)用程序的開(kāi)發(fā)。
Yii優(yōu)點(diǎn)
Yii容易學(xué)習(xí)和使用。你只需要知道PHP和面向?qū)ο缶幊?,便可以很快上手,而不必事先去學(xué)習(xí)一種新的架構(gòu)或者模板語(yǔ)言。
用Yii的開(kāi)發(fā)速度非常之快,除框架本身之外,需要為應(yīng)用所寫的編碼極少。事實(shí)上這是最高效的開(kāi)發(fā)框架之一。
Yii 具有高度的可重用性和可擴(kuò)展性,是純粹的面向?qū)ο蟮?。Yii中的一切都是獨(dú)立的可被配置,可重用,可擴(kuò)展的組件。更重要的是Yii有著越來(lái)越多的擴(kuò)展庫(kù)。主要由使用者貢獻(xiàn)出的組件組成,這可能有助于大大減少您的開(kāi)發(fā)時(shí)間。Yii 有著豐富的功能. 從 MVC, DAO/ActiveRecord, 到 主題化, 國(guó)際化 和本地化, Yii 提供了幾乎所有今天的Web 2.0應(yīng)用程序開(kāi)發(fā)所需的功能。
在Yii參考手冊(cè)是Yii完備的文檔,有著你學(xué)習(xí)和掌握它所需要的任何信息。
Yii一開(kāi)始就精心設(shè)計(jì),以適應(yīng)復(fù)雜的WEB應(yīng)用開(kāi)發(fā)。他不是一些項(xiàng)目的副產(chǎn)品或者第三方集成。而是融合了作者豐富的 Web 應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)和其它熱門 Web 框架和應(yīng)用的優(yōu)秀思想的結(jié)晶。
最后,但并非不重要,Yii是免費(fèi)的,Yii遵循最新的BSD許可。它確保了它的第三方開(kāi)發(fā)也循序和BSD相兼容的許可。這意味著無(wú)論從法律上還是財(cái)務(wù)上來(lái)說(shuō),您都可以自由的使用yii來(lái)開(kāi)發(fā)任何一個(gè)開(kāi)源的或者私有的應(yīng)用。
特性
Yii幾乎擁有了當(dāng)今Web 2.0應(yīng)用發(fā)展的全部特性。下面是這些特性的一個(gè)簡(jiǎn)短的清單。
模型-視圖-控制器(MVC)設(shè)計(jì)模式:Yii在WEB編程中采用這一成熟的技術(shù)從而可以更好的將邏輯層和表現(xiàn)層分開(kāi)。
數(shù)據(jù)庫(kù)訪問(wèn)對(duì)象(DAO)和Active Record:Yii允許開(kāi)發(fā)者模型數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象,從而減少他們?cè)趯懞荛L(zhǎng)和重復(fù)的SQL語(yǔ)句上的精力。
與jQuery整合:作為最流行的JavaScript框架之一,jQuery可以編寫高效而靈活的JavaScript接口。
表單輸入和驗(yàn)證:YII使得收集表單輸入非常容易和安全。 Yii擁有一套確保數(shù)據(jù)的有效性的驗(yàn)證器,它也有輔助方法和部件,顯示驗(yàn)證失敗時(shí)的錯(cuò)誤。
Web 2.0部件:由jQuery的支持,YII配備了一套Web 2.0的部件,如自動(dòng)完成輸入字段,TreeView等等。
身份驗(yàn)證和授權(quán):Yii具有內(nèi)置的身份驗(yàn)證支持。它也支持通過(guò)分層的基于角色的訪問(wèn)控制(RBAC)的授權(quán)。
主題:它能夠瞬間改變一個(gè)Yii應(yīng)用的視圖。
Web服務(wù):Yii支持自動(dòng)生成復(fù)雜的WSDL服務(wù)規(guī)范和管理Web服務(wù)請(qǐng)求處理。
國(guó)際化(I18N)和本地化(L10N):Yii支持消息轉(zhuǎn)換,日期和時(shí)間格式,數(shù)字格式和界面本地化。
分層緩存方案:Yii支持?jǐn)?shù)據(jù)緩存,頁(yè)面緩存,片段緩存和動(dòng)態(tài)內(nèi)容。緩存的存儲(chǔ)介質(zhì),可以輕松地更改而不觸及應(yīng)用程序代碼。
錯(cuò)誤處理和日志記錄:錯(cuò)誤的處理很好的呈現(xiàn)出來(lái),日志信息可以分類,過(guò)濾并分配到不同的位置。
安全:Yii配備了許多安全的措施,以幫助安全的Web應(yīng)用程序,以防止網(wǎng)絡(luò)攻擊。這些措施包括跨站點(diǎn)腳本(XSS)預(yù)防,跨站點(diǎn)請(qǐng)求偽造(CSRF)預(yù)防,Cookie篡改預(yù)防等。
符合XHTML:Yii的組件和命令行工具生成的代碼符合XHTML標(biāo)準(zhǔn)。
自動(dòng)代碼生成:Yii提供了可以自動(dòng)生成的代碼的工具,根據(jù)你的需要,例如生成一個(gè)程序骨架,CRUD應(yīng)用等等。
完全面向?qū)ο螅篩ii框架堅(jiān)持嚴(yán)格的面向?qū)ο缶幊谭妒?。它沒(méi)有定義任何全局函數(shù)或變量。而且,它定義的類層次結(jié)構(gòu)允許最大的可重用性和定制。
友好的使用第三方代碼:Yii精心設(shè)計(jì)讓它第三方代碼非常好的工作。例如,你可以在你的Yii應(yīng)用程序中使用PEAR或Zend Framework的代碼。
詳細(xì)的文檔:每一個(gè)單一的方法或?qū)傩远挤浅G宄挠涗浿?。同時(shí)提供了一個(gè)全面的教程和一些新手教程。
擴(kuò)展庫(kù):Yii提供了一個(gè)組成用戶提供組件的一個(gè)擴(kuò)展庫(kù),這使得上述功能列表是永無(wú)止境的。
關(guān)于Yii
Yii是一個(gè)基于組件、用于開(kāi)發(fā)大型 Web 應(yīng)用的高性能 PHP 框架。在WEB開(kāi)發(fā)中Yii可以最大限度的實(shí)現(xiàn)代碼重用,極大的提高開(kāi)發(fā)的速度。名字Yii(讀音是Yee or [ji:],應(yīng)該就是“易”的讀音 )代表的是容易(easy),高效(efficient)和可擴(kuò)展(extensible)
環(huán)境需求
要運(yùn)行一個(gè) Yii 驅(qū)動(dòng)的 Web 應(yīng)用,你需要有一個(gè)支持 PHP 5.1.0 或以上版本的 Web 服務(wù)器。
對(duì)于打算使用 Yii 的開(kāi)發(fā)者來(lái)說(shuō),懂得面向?qū)ο缶幊蹋∣OP)會(huì)非常有幫助。因?yàn)?Yii 是一個(gè)純 OOP 的框架。
適用范圍
Yii 是一個(gè)通用的 Web 編程框架,可以用于開(kāi)發(fā)幾乎所有的 Web 應(yīng)用。由于它是輕量級(jí)的且具備了成熟的緩存解決方案,它特別適用于開(kāi)發(fā)高流量的應(yīng)用,例如門戶,論壇,內(nèi)容管理系統(tǒng)(CMS),電子商務(wù)系統(tǒng)等等。
與同類產(chǎn)品比較
和多數(shù)PHP框架類似,Yii 是一個(gè) MVC 的框架。
Yii 以其優(yōu)異的性能,豐富的功能和清晰的文檔勝出其他框架。Yii 從一開(kāi)始就仔細(xì)設(shè)計(jì)以適合嚴(yán)謹(jǐn)?shù)?Web 應(yīng)用開(kāi)發(fā)。它既不是一個(gè)其他項(xiàng)目的衍生品,也不是一個(gè)第三方工作的組合。 它是作者豐富的 Web 應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)和對(duì)大多數(shù)流行的 Web 編程框架與應(yīng)用的研究與思考的成果。
性能
yii性能
Yii是一個(gè)高性能的框架,以下的圖表展示了與其他流行的PHP框架比較下Yii的高效率。在這個(gè)圖表中, RPS代表“每秒請(qǐng)求”,描述了此框架每秒執(zhí)行多少個(gè)請(qǐng)求。這個(gè)數(shù)字越大,此框架的性能越高,我們可以看到,在這個(gè)比較中 Yii 勝過(guò)其他框架。The performance advantage of Yii is especially significant when the widely used APC extension is enabled.
Performance alone is not the whole story (otherwise we should all use plain HTML or PHP). With such superior performance, Yii still provides a very rich feature setwhich can greatly improve your development efficiency.
為什么Yii如此之快
Yii如此快速是因?yàn)樗鼜V泛地使用lazy loading技術(shù)。比如, 直到第一次使用到這個(gè)類,才會(huì)包含進(jìn)來(lái);直到對(duì)象第一次訪問(wèn),才會(huì)創(chuàng)造這個(gè)對(duì)象。Other frameworks suffer from the performance hit because they would enable a functionality (e.g. DB connection, user session) no matter it is used or not during a request.
標(biāo)準(zhǔn)設(shè)置
下面我們解釋怎樣設(shè)計(jì)基準(zhǔn)應(yīng)用并且得到上面的RPS結(jié)果.
基準(zhǔn)請(qǐng)求
Since our goal is to compare the minimal overhead of each framework, the benchmark application for each framework should be the simplest one. We choose to display a "Hello World" text string by placing an echo statement in the default action of each application. Any additional framework features (e.g. session) are disabled to ensure fairness of the comparison. To obtain a copy of the benchmark applications, please check out the phpmark project.
為什么用“Hello World”
我們做“hello world”的測(cè)試主要是為了達(dá)到我們的目標(biāo),如:找出每個(gè)框架地最小代價(jià)。很多人抱怨說(shuō)應(yīng)用程序“hello world”很沒(méi)意義,因?yàn)樵谡鎸?shí)世界的應(yīng)用程序經(jīng)常需要去涉及更復(fù)雜的任務(wù),比如數(shù)據(jù)庫(kù)查詢。這是不對(duì)的。實(shí)際上,尤其是在一些大規(guī)模的web2.0應(yīng)用程序中,我們經(jīng)常遇到的情況通常是相當(dāng)?shù)亟咏癶ello world”。例如:應(yīng)用程序要響應(yīng)ajax請(qǐng)求返回當(dāng)前服務(wù)器的時(shí)間。頁(yè)面有大部分內(nèi)容在緩存,應(yīng)用程序只需要抓取緩存的內(nèi)容并顯示之。
另一個(gè)用“hello world”的原因是當(dāng)引用更復(fù)雜(如:數(shù)據(jù)庫(kù)查詢)的特征時(shí),對(duì)照的清晰將很難保證。例如:框架可以在數(shù)據(jù)庫(kù)查詢執(zhí)行得非常有效率,但缺少緩存方案。當(dāng)另一個(gè)框架在數(shù)據(jù)庫(kù)查詢上稍慢,卻有高級(jí)的緩存特征來(lái)緩和系統(tǒng)損耗??偠灾邪颂嗟囊蛩貋?lái)進(jìn)行清晰的對(duì)比。
標(biāo)準(zhǔn)工具和環(huán)境
用ApacheBench工具的指令“ab –t 30 -c 10 URL”來(lái)獲取RPS編號(hào)(如:在并發(fā)級(jí)數(shù)10運(yùn)行test 30秒)。為了獲得每個(gè)框架的編號(hào),我們先停止再啟動(dòng)Apache WEB服務(wù)器來(lái)避免干擾。還要運(yùn)行測(cè)試程序幾次來(lái)“預(yù)熱”測(cè)試環(huán)境。在phpmark project中,有個(gè)叫benchmark. sh的shell script使基準(zhǔn)程序自動(dòng)化。
Credits
Yii 的很多想法來(lái)自其他著名 Web 編程框架和應(yīng)用程序。下面是一個(gè)簡(jiǎn)短的清單。
Prado:這是 Yii 的主要思想來(lái)源。Yii 采用了基于組件和事件驅(qū)動(dòng)編程模式,數(shù)據(jù)庫(kù)抽象層,模塊化的應(yīng)用架構(gòu),國(guó)際化和本地化,和許多它的其他特點(diǎn)和功能。
Ruby on Rails:Yii 繼承它的配置的思想。還引用它的 Active Record的 ORM設(shè)計(jì)模式。
jQuery:這是集成在 Yii 為基礎(chǔ)的 JavaScript 框架。
Symfony:Yii 引用它的過(guò)濾設(shè)計(jì)和插件架構(gòu)。
Joomla:Yii 引用其模塊化設(shè)計(jì)和信息翻譯方案。
以上是“Yii是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文名稱:Yii是什么
鏈接分享:http://aaarwkj.com/article42/pdeghc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、標(biāo)簽優(yōu)化、云服務(wù)器、企業(yè)建站、網(wǎng)站導(dǎo)航、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)