Professional Documents
Culture Documents
Bao Cao Zend Framework
Bao Cao Zend Framework
BO CO CUI K
TI: ZEND FRAMEWORK
2
MC LC
TNG QUAN...........................................................................................................4
ZEND FRAMEWORK V M HNH MVC.......................................................4
I. FRAMEWORK..................................................................................................4
1. Framework l g?............................................................................................4
2. Ti sao chng ta li phi s dng framework?...............................................4
3. Cc thnh phn c bn ca mt framework:..................................................4
4. Cc PHP framework ph bin hin nay:........................................................4
II. M HNH MVC TRONG FRAMEWORK.....................................................5
III. SO SNH M HNH MVC VI M HNH 3 LP:..................................7
1. Ging nhau:....................................................................................................7
2. Khc nhau:.....................................................................................................7
IV. ZEND FRAMEWORK...................................................................................8
1. Zend framework l g?...................................................................................8
2. Qu trnh pht trin ca Zend Framework.....................................................9
3. u v khuyt im ca Zend Framework (ZF)..............................................9
2.1. u im:.................................................................................................9
2.2. Khuyt im:.........................................................................................10
4. M hnh MVC trong Zend Framework .......................................................10
4.1. Model....................................................................................................10
4.2. View......................................................................................................10
4.3. Controller .............................................................................................11
5. Hng dn ci t:.......................................................................................13
5.1. Ci JDK, NetBeans...............................................................................13
5.2. Cu hnh Zend Framework (ZF)...........................................................13
5.3. To ng dng Zend Framework............................................................16
CI T & S DNG..........................................................................................17
WEBSITE THNG MI IN T WINESTORE........................................17
I. CI T..........................................................................................................17
1. Cu trc WineStore......................................................................................17
2. Cu hnh Wampp Server..............................................................................18
3. Cu hnh kt ni c s d liu......................................................................19
II. S DNG......................................................................................................20
1. Trang ngi dng.........................................................................................20
1.1. Xem chi tit sn phm...........................................................................21
1.2. Thm vo gi hng................................................................................21
1.3. Thanh ton.............................................................................................22
2. Trang qun tr...............................................................................................23
TI LIU THAM KHO.....................................................................................25
1. Getting Started with Zend Framework...........................................................25
3
2. Zend Framework 1.8 Web Application Development....................................25
3. Easy PHP Websites with the Zend Framework.............................................25
4. Programmer's Reference Guide Zend Framework.......................................25
TNG QUAN
ZEND FRAMEWORK V M HNH MVC
I. FRAMEWORK
1. Framework l g?
- Mt cu trc mi ca cng ngh web PHP gip pht trin cc ng dng web.
- Mt th vin c xy dng sn ngi lp trnh s dng.
- Cc chun xy dng mt framework:
+ MVC: c h tr Model-Control-View.
+ Multiple DBs: lm vic c vi nhiu loi database khc nhau.
+ ORM: c h tr Object-Relation-Mapper.
+ Templates: c h tr cho template engine AJAX, validation, caching.
+ Auth Module: c module xc thc ngi dng.
+ Module: tch hp cc module tin ch nh PDF, RSS
+ EDPnew (Event Driven Programming): c hng s kin.
2. Ti sao chng ta li phi s dng framework?
- Tng tc qu trnh pht trin ng dng.
- Gim thi gian v s n lc c c mt d n.
- Cung cp sn cc module cn thit xy dng mt project.
- D nng cp, sa cha do c s phn ha r rng ca m hnh MVC.
3. Cc thnh phn c bn ca mt framework:
- Code Library: th vin source code gip cc lp trnh vin tra cu v lp
trnh. H tr 30 ngn ng lp trnh: C#, Java, VB, PHP, Javascript,
- Scripting Language: s dng ngn ng kch bn.
- API: s dng cc hm API xy dng sn.
4. Cc PHP framework ph bin hin nay:
- Trong vi nm qua, PHP tin trin thnh mt ngn ng script c la
chn hu ht bi cc nh pht trin website, dn n s bng n ca PHP
framework. Cu hi t ra: Hin nay, PHP framework no l ph bin nht?
- Di y l 05 framework c nh gi l ph bin v tt nht hin nay:
5
+ Zend Framework: c mt cng ng pht trin rng ln, v n tp trung
pht trin ng dng web theo phong cch 2.0. N c cc tnh nng mnh m, phi
c kin thc su rng v PHP c th s dng n.
+ CakePHP: la chn tuyt vi cho cc lp trnh vin c kin thc nng cao
v php. Mt framework mnh v kha cnh pht trin nhanh, y mnh qu trnh
pht trin ng dng, c h thng h tr, tnh n gin v mi trng m cao.
+ Symfony: nhm mc ch gip cc lp trnh vin nng cao hn cc
website doanh nghip, l mt PHP framework m ngun m, c y tnh nng
cn thit, nhng li hn ch v mt tc so vi cc framework khc.
+ CodeIgniter: d hiu, d s dng, hiu sut cao, l tng cho vic xy dng
cc ng dng lu tr, chia s d liu. Ph hp cho ngi mi lm quen vi
framework.
+ Seagull: mt framework cc k d s dng cho ngi mi cng nh chuyn
gia v PHP, cung cp mu ng dng ty chnh ph hp vi nhu cu, cung cp
cc ty chn my ch xy dng ng dng web nhanh v d dng.
II. M HNH MVC TRONG FRAMEWORK
Vo nhng nm 70 ca th k 20, ti phng th nghim Xerox PARC Palo
Alto. S ra i ca giao din ha (Graphical User Interface - GUI) v lp trnh
hng i tng (Object Oriented Programming - OOP) cho php lp trnh vin
lm vic vi nhng thnh phn ha nh nhng i tng ha c thuc tnh
v phng thc ring ca n. Khng dng li , nhng nh nghin cu Xerox
PARC cn i xa hn na khi h cho ra i ci gi l kin trc MVC (vit tt ca
Model View Controller).
Kin trc ny ngy cng c pht trin v hon thin nhm gii quyt cc
vn pht sinh cng nh cc gii php cho qu trnh pht trin phn mm.
Trong kin trc ny, h thng c chia thnh 03 tng tng ng ng vi tn
gi ca n (Model View Controller). nhim v c th ca cc tng c
phn chia nh sau:
7
View v Controller: hai b phn ny chnh l phn trnh by bn ngoi ca i
tng biu din bn trong.
MVC chia nh qu trnh x l ca mt ng dng, gip ngi lp trnh lm
vic trn tng thnh phn ring l, khng nh hng n cc thnh phn khc gip
pht trin ng dng nhanh, n gin, d nng cp.
III. SO SNH M HNH MVC VI M HNH 3 LP:
1. Ging nhau:
- C hai u tch ri programming core/business logic ra khi nhng ph
thuc v ti nguyn v mi trng.
- Trong mt ng dng nh, MVC th hin th no? Presentation th hin
ging nh chc nng ca View v Controller. Business v Database th hin ging
nh chc nng ca Model. Nh th nhn gc ny, th MVC tng ng vi
3-layer (tt nhin c chng cho nh hnh v).
2. Khc nhau:
Trong 3-layers, qu trnh i theo chiu dc, bt u t Presentation Layer,
sang Business Layer, ri ti Data Access Layer, v t Data Access Layer, chy
ngc li Business Layer ri quay ra li Presentation Layer.
9
- Zend Framework l sn phm framework m ngun m c pht trin trn
nn PHP 5.0 theo chun hng i tng, Zend Framework l tp trung vo xy
dng web an ton hn, ng tin cy, hin i ng dng, dch v web 2.0, v cc
API ph bin rng ri tiu th t cc nh cung cp hng u nh Google, Amazon,
Yahoo!, Flickr, cng nh cc nh cung cp API v bin mc nh StrikeIron v
Programmable Web.
- Zend Framwork l framework theo m hnh MVC.
- Zend Framework c h tr lm vic vi Tempalate engine kt hp cng tng
View
2. Qu trnh pht trin ca Zend Framework
Zend Framework c t chc ca cng ty Zend a vo xy dng vo u
nm 2005, trong khi nhiu framework mi nh Ruby on Rails v the Spring.
Framework c ph bin trong xy dng web ng. Phin bn Zend
Framework u tin chnh thc ra mt cng khai ti hi ngh u tin ca Zend vo
thng 10/2005. n 01/07/2007 Zend cho ra i phin bn Zend Framework
1.0. n nay, Zend cho ra mt phin bn Zend Framework 1.11 l phin bn mi
nht hin nay.
Zend Framework 1.11
Zend Framework 1.10
Zend Framework 1.9
Zend Framework 1.8
Zend Framework 1.7
Zend Framework 1.6
Zend Framework 1.5
Zend Framework 1.0
Zend Framework 0.9
Zend Framework 0.8
Zend Framework 0.6
3. u v khuyt im ca Zend Framework (ZF)
- ZF l mt PHP framework ra i kh tr, tip thu nhng tinh hoa v khc
phc nhng sai lm m cc framework trc mc phi.
2.1. u im:
- ZF c vit theo kiu OOP nn n tha hng cc th mnh ca kiu vit
ny. Cc lp ca ZF c BA (Business Analysis) rt chun v khi cn m rng
bn c th dng th dng tnh cht tha k ca OOP. Ni chung l chng ta khng
phi chnh sa core ca ZF.
10
Hu nh cc version mi ca ZF ko c nhiu thay i trong core nn ta c th
d dng update.
ZF tch hp c gn nh tt c cc th vin PHP v cc CMS khc s
dng. VD: Smarty - Pear - FCKEditer - Drupal ..
Cch vit ca ZF rt thn thin v n gin. Tch hp nhng mi nht ca lp
trnh web nh: JSON - Search - Syndication - Web Services...
Bo mt ca cc ng dng rt tt nn trnh c cc li thng gp trong cc
ng dng vit bng PHP thng.
ZF c s dng trong cc d n ln v c k hoch pht trin di lu.
2.2. Khuyt im:
Mt nhiu thi gian tm hiu v th vin ca ZF
Mt s lp cha n nh, c s thay i, gy kh khn cho ngi s dng khi cp
nht cc phin bn.
4. M hnh MVC trong Zend Framework
4.1. Model
Thnh phn model c chng ta xy dng thnh cc lp k tha t lp
Zend_Db_Table hoc Zend_Db_table_Abstract c t trong th mc
application/models ca ng dng. Mi lp s m nhn vic kt ni v thao tc n
table trong c s d liu.
4.2. View
Thnh phn ca view c t trong th mc application/views. Trong th
mc views c 3 thnh phn :
11
+ scripts: cha cc th mc gm cc file nh x n cc controller/action
hin th trang giao din tng ng.
+ helpers: trong th mc ny cha cc lp m chng ta to ra v cc lp ny
s c np t ng cho i tng Zend_View thng qua Zend_View_Helper
gip chng ta d dng gi n hm c xy dng trong lp ny m khng cn
phi khai bo trc v n c xem l mt thnh phn trong th vin ca Zend.
+ filers: tng t nh helpers, thnh phn filters cha cc lp gip cho chng
ta c th thay i hoc xa nhng d liu khng mong mun trong qu trnh nhp
liu thng qua b lc ny.
4.3. Controller
Controller c nhim v iu hnh trang web ca bn. Mt trang web c th c
nhiu module, mt module c th c nhiu controller, mt controller gm c nhiu
action.
Zend Framework s dng i tng Front Controller qun l cc Request
c gi ti Web Server. V da trn Request n s gi cc lp x l Model v
tr v kt qu trnh by vi cc lp View.
index.php: mt file rt quan trng trong website, n c nhim v n u tt
c cc request vo, sau khi to controller v dispatch request n controller
tng ng.
bootstrap.php: c nhim v khi to cc i tng ton cc s dng cho
website, by li ca ng dng v a v cho ErrorController x l.
12
C CH HOT NG CA ZEND FRAMEWORK
13
5. Hng dn ci t:
5.1. Ci JDK, NetBeans
14
15
Bc 03: khi ng NetBeans, chn Tools -> Options -> PHP, ti tab
Gerneral > Add Folder chn th mc cha th vin ZF.
Bc 04: chn tab Zend -> Browse, chn file zf.bat nh hnh bn di
16
Bc 02: click Next v check vo Zend PHP web Framework v click Finish.
Click chut phi vo project tn toan chn Run chy. Khi trnh duyt li hin
ln 01 danh sch cc files v folders, ta chn folder public, v theo cu trc ca ZF,
web s chy ti y.
17
CI T & S DNG
WEBSITE THNG MI IN T WINESTORE
I. CI T
1. Cu trc WineStore
Thng thng khi chy mt ng web dng cng ngh PHP, chy trn web
server Apache (dng Wampp Server), ta phi copy source code ca web vo th
mc www (C:\wamp\www).
y, ta source code WineStore ti a D nh hnh trn.
- wine: th mc gc ca WineStore.
- application: ton b source code PHP ca ng dng.
- library: th vin Zend Framework.
- public: web s chy ti y.
- host.txt: file cha code cu hnh Apache, dnh cho Cu hnh Wampp
Server, trong y s cu hnh web chy ti a ch: http://localhost:88
- wine.sql: file c s d liu, m phpMyAdmin, import vo (khng cn to
database v trong file ny c lnh to database).
18
Listen 127.0.0.1:88
<VirtualHost 127.0.0.1:88>
ServerName localhost
DocumentRoot D:/wine/public
SetEnv APPLICATION_ENV "development"
<Directory D:/wine/public>
Options Indexes FollowSymLinks MultiViews
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
19
</Directory>
</VirtualHost>
Gii thch:
127.0.0.1:88 m thm port 88 chy web.
D:/wine/public th mc chy ng dng web.
3. Cu hnh kt ni c s d liu
M file application.ini trong th mc D:\wine\application\configs bng
WordPad, nh hnh bn di.
20
II. S DNG
1. Trang ngi dng
Truy cp vo a ch: http://localhost:88
21
1.1. Xem chi tit sn phm
22
Thanh ton
23
2. Trang qun tr
Truy cp vo a ch: http://localhost:88/cpadmin s hin trang ng nhp, khi
ng nhp, user: toan; pass: toan
24
Click vo menu Sn phm -> Danh sch xem tt c danh sch cc sn
phm hin c
25