Zend Framework是一套網(wǎng)站開(kāi)發(fā)框架,包含了MVC模式以及眾多解決特定問(wèn)題的組件。明光人吧 N(iy!BLh#]L1Y'OC

7GDTl2v&cY0ZendFramework框架組件:明光人吧7df?S#mb
1 Zend_Controller :  此模塊為應(yīng)用程序提供了全面的控制,將請(qǐng)求轉(zhuǎn)化為特定的行為并確保執(zhí)行
'Ebc;R[3UL9eT0
A]7T] j-Z02 Zend_Db : 此模塊基于PHP數(shù)據(jù)對(duì)象(PDO)并提供了一種通用方式來(lái)訪問(wèn)數(shù)據(jù)庫(kù)
|_6~"ZV-k1O3F3`0
;G*J+IwkC,_03 Zend_Feed : 此模塊使 使用RSS和Atom提要變得簡(jiǎn)單
oi!Z;`g X/m7Q:a0
5u,|x.f3IcG04 Zend_Filter : 此模塊提供字符串過(guò)濾函數(shù),如 isEmail() 和 getAlpha()
y-lfT@W H$T'? i"A!G0明光人吧 ?e QOEg/y.C
5 Zend_InputFilter : 對(duì)于Zend_Filter,此模塊是用來(lái)操作數(shù)組的,如表單輸入明光人吧,u5f w5p}{

#Z!T*t Kor06 Zend_HttpClient : 此模塊可輕易的執(zhí)行一個(gè)HTTP請(qǐng)求明光人吧loc^!p3w
明光人吧^3~;gOt,e
7 Zend_Json : 此模塊可以將PHP對(duì)象轉(zhuǎn)換為Javascript對(duì)象符號(hào)明光人吧:`xO:F{w
明光人吧e5z(|$~e;xG9] V }
8 Zend_Log : 此模塊提供通用日志功能
`:t6A'A?pgC0
U3_[Z`rWD!r%a?$o09 Zend_Mail : 此模塊使您能夠發(fā)送文本文件和多部分MIME電子郵件明光人吧L_ B/NZ dR
明光人吧"^#|+\7g4m
10 Zend_Mime : 此模塊被 Zend_Mail 來(lái)解碼MIME信息
K aJq k~)a2V(o0
#gG~'~e X!]011 Zend_Pdf : 此模塊用來(lái)創(chuàng)建,加載以及編輯PDF文件
3A8m-z,YoGi0
V S0B6H/Awf1?012 Zend_Search : 此模塊可以使您能在現(xiàn)有文本上執(zhí)行復(fù)雜搜素
MRW/]3H zn6Sh0
"M!@%w.J~s6D-Y+xd013 Zend_Service_Amazon, Zend_Service_Flickr以及Zend_Service_Yahoo : 提供WEBService的簡(jiǎn)單API訪問(wèn)明光人吧Tai5yb} q)t
明光人吧gs;?dV^$G
14 Zend_View : 此模塊處理 MVC 模式中的View部分
Uupa@!]&^n1K als0
,atf|9gd/P015 Zend_XmlRpc : 此模塊能夠輕易的建立XML_RPC客戶機(jī) 明光人吧O{{y:I)f
明光人吧`!dV?)Be%s9Z
明光人吧+['n/\m5i5U
MVC模式
)S8a$Gd+IC0明光人吧 OC3D`2a
MVC模式存在的實(shí)質(zhì)意義是將設(shè)計(jì),編碼以及數(shù)據(jù)存取三部分分開(kāi),這樣可以使設(shè)計(jì)人員,編碼人員,DBA各司其職,協(xié)同工作,MVC將一個(gè)項(xiàng)目分成了三層:明光人吧"c lcP5]
明光人吧8ru4To%j'Wa
模型層: 由真實(shí)數(shù)據(jù)的表示組成,在數(shù)據(jù)庫(kù)中的表示主體上“建模”了它們的結(jié)構(gòu),從而組成了模型層。明光人吧w_1s&j%Fd1N

;h-@"yo;KSJ0視圖層: 由一些邏輯組成,這些邏輯定義了數(shù)據(jù)如何展現(xiàn),他并不關(guān)心這些數(shù)據(jù)是什么,他只關(guān)心如何展現(xiàn)。該層不包括任何邏輯,只是將數(shù)據(jù)表現(xiàn)出來(lái)。
x)yYf'AxJ;A0
(eNF7v*Ew V0控制器: 定義了數(shù)據(jù)是什么,控制器是存放邏輯的地方,在Zend框架中,該層控制了要執(zhí)行的行為。比如:如果我們想顯示單個(gè)的某條信息,那么職責(zé)就被解釋為:信息對(duì)象具有一個(gè)控制器,該控制器定義了當(dāng)調(diào)用顯示行為時(shí)所發(fā)生的事情。該顯示行為回調(diào)以從模型(或者說(shuō)是數(shù)據(jù)庫(kù),又或者是其他的持久性數(shù)據(jù)容器)中獲取需要的數(shù)據(jù),然后將這些字段(標(biāo)題,內(nèi)容之類),填入到視圖中,該視圖就將這些信息簡(jiǎn)單的顯示到瀏覽器中。
A[ `,S9K0
+eDN2a0|7uJ0使用Zend框架的編碼準(zhǔn)則
4VZ6@W&^ h['l0
明光人吧4Py&Mj"D"g:~s
當(dāng)您為Zend框架編碼或者使用Zend框架進(jìn)行開(kāi)發(fā)時(shí),應(yīng)當(dāng)遵循默寫編碼準(zhǔn)則,這些編碼準(zhǔn)則是為了使團(tuán)隊(duì)開(kāi)發(fā)變得簡(jiǎn)單而設(shè)計(jì)的,這很重要,因?yàn)楝F(xiàn)階段的軟件開(kāi)發(fā)大多是團(tuán)隊(duì)協(xié)同工作的。
R0vs+AU0明光人吧c'D/_6u a"A+_.j
1 確保文件整潔,在文件頭,標(biāo)準(zhǔn)的四格縮進(jìn)前不能有任何前導(dǎo)或后置的空格,這些空格會(huì)調(diào)用Web服務(wù)器導(dǎo)致以外的發(fā)送內(nèi)容。
| xr8}O%v k02 在類成為Zend框架的一部分時(shí),類名以Zend_開(kāi)頭,而不是在使用Zend框架時(shí),類以Zend_開(kāi)頭。
Q&MdH HSu6U03 在函數(shù)名中下劃線是禁止的,而是以小寫字母開(kāi)頭的,大小寫間隔的方式,如getTodayDate()
hD-]y)dp8}!t04 只有當(dāng)變量是private或protected類型時(shí),才以下劃線開(kāi)頭明光人吧6].S,UK4}
5 將所有的變量聲明為private protected或者public,而不要使用var明光人吧}T J1?A&~RF
6 使用標(biāo)準(zhǔn)的php標(biāo)記: <?php ?> 而不是<? ?>
(fR7f])`A&^6Q,fQ07 確保您的代碼利于閱讀,在操作符前后,加入空格。明光人吧Gq%Zt|mph
8 如果必須通過(guò)引用傳值,那只能在函數(shù)聲明時(shí)這樣做,調(diào)用時(shí)通過(guò)引用傳值是不允許的。明光人吧lG G]P
9 任何PHP文件都必須包括能被 PhpDocument 閱讀的文檔,并且編碼準(zhǔn)則指定了特定的最少標(biāo)記。