官方文檔描述
數(shù)據(jù)網(wǎng)格或者說 GridView 小部件是Yii中最強(qiáng)大的部件之一。如果你需要快速建立系統(tǒng)的管理后臺(tái), GridView 非常有用。它從數(shù)據(jù)提供者 data provider 中取得數(shù)據(jù)并使用 columns 屬性的一組列配置,在一個(gè)表格中渲染每一行數(shù)據(jù)。
這個(gè)東西確實(shí)可以在實(shí)際開發(fā)中省去大量的時(shí)間,例如:在傳統(tǒng)(非前后分離)后臺(tái)項(xiàng)目中渲染表格,比起使用 html
然后再去 foreach
渲染。省去了不少時(shí)間。
我想問,是否建議使用這類組件,以及他的優(yōu)勢(shì),或者他的局限性,怎么正確的看待這用這種組件。謝謝大佬!
我來說一下看法吧。
首先Yii框架的前端樣式都是基于bootstrap的UI框架的,而且Yii本身有一套非常強(qiáng)大的css和js管理及注入機(jī)制。
以上是前提。
然后,我來說一下傳統(tǒng)的MVC機(jī)制,傳統(tǒng)的V層基本上就是直接寫HTML,或者用個(gè)Smarty模板啥的來封裝一層,讓PHP的變量賦值盡量像是HTML,目的就是讓前端來寫PHP程序并且感受不到太多不適感,但是實(shí)際上前端依舊還要學(xué)習(xí)模板引擎的使用,后端也需要學(xué),其實(shí)在一定程度上增加了前后端的工作量。
再來看Yii框架的設(shè)計(jì)方式,Yii框架雖然來說是有View層,但是對(duì)于Yii框架來說,View層也是PHP程序來生成的,這樣的好處是對(duì)于后端來說,基本上類似于使用組件一樣,想要什么東西,以后端代碼的形式進(jìn)行調(diào)用即可,不關(guān)心前端代碼,對(duì)于PHP本身來說,就會(huì)有一種工程化的概念。當(dāng)然對(duì)于后臺(tái)管理來說,可能內(nèi)置的這一套View層?xùn)|西不是特別的美觀,但是對(duì)于后臺(tái)管理來說,基本上也不需要要求太多美觀上的東西。當(dāng)然如果想改樣式,也是有辦法的,此處不做討論。
而封裝好的View層,是以邏輯層面來出發(fā),也就是以我們?nèi)藶榈乃枷雭硖幚韱栴},而不需要關(guān)注細(xì)節(jié)是怎么處理這個(gè)問題的,這樣子從邏輯上來看,更加清晰和友好,開發(fā)速度自然也就非??欤瑤淼暮锰庯@而易見。
而我意識(shí)到這個(gè)東西是我在開發(fā)android的時(shí)候,android的結(jié)構(gòu)封裝其實(shí)和這個(gè)非常相似,android底層封裝了LinearLayout,RelativeLayout等基礎(chǔ)視圖類,進(jìn)行界面編寫的時(shí)候,可以直接調(diào)用視圖類或者是按照規(guī)范編寫xml進(jìn)行布局,而實(shí)際上xml其實(shí)類似于配置文件,最后生成的還是視圖類調(diào)用。經(jīng)過類比,我發(fā)現(xiàn)Yii這種實(shí)現(xiàn),貌似借鑒了這種思想,特別有意思。
整體來說是我的一些看法,說感觸的話就是多接觸一些不同語言開發(fā)或者不同語言的不同項(xiàng)目開發(fā),能感受到一些不同的開發(fā)思想,特別有意思。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。