You are on page 1of 25

TRNG I HC CN TH

KHOA CNG NGH THNG TIN & TRUYN THNG

BO CO CUI K
TI: ZEND FRAMEWORK

Gio vin hng dn: NGUYN THANH HI


Nhm sinh vin thc hin:
1. Nguyn Vn Ton
MSSV: LT11780
2. Phm Anh Tun
MSSV: LT11788
3. V Th Phng Trinh
MSSV: LT11786
4. Trn nh Tuyt
MSSV: LT11792
5. Nguyn Th Thy i
MSSV: LT11713
6. Nguyn Cao Thy Anh
MSSV: 1088211
7. Nguyn Trung Ngha
MSSV: 1071463

Cn Th, ngy 19/04/2012

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:

- Cch thc lm vic ca mt PHP framework phi k n Model-ViewController (MVC).


- MVC l mt m hnh trong lp trnh, cho php tch bit cc m nghip v
(bussiness logic) v giao din (UI) thnh cch thnh phn ring bit.
- MVC:
+ Model: c giao nhim v cung cp d liu cho c s d liu v lu d
liu vo cc kho cha d liu. Tt c cc nghip v logic c thc thi Model.
D liu vo t ngi dng s thng qua View n Controller v c kim tra
Model trc khi lu vo c s d liu. Vic truy xut, xc nhn, v lu d liu l
mt phn ca Model.
+ View: hin th cc thng tin cho ngi dng ca ng dng v c giao
nhim v cho vic nhn cc d liu vo t ngi dng, gi i cc yu cu n
controller, sau l nhn li cc phn hi t controller v hin kt qu cho ngi
dng. Cc trang HTML, JSP, cc th vin th v cc file ngun l mt phn ca
thnh phn View. Trong cc web framework, n gm 2 phn chnh:
Template file nh ngha cu trc v cch thc trnh by d liu cho user.
V d nh layout, color, windows,
Logic x l cch p dng d liu vo cu trc trnh by. Logic ny c th
bao gm vic kim tra nh dng d liu, chuyn i nh dng d liu sang mt
sng d liu trung gian, la chn mt cu trc hin th ph hp.
+ Controller: m nhim vic cp nht b phn hin th (View) khi cn thit.
B iu khin ny nhn d liu nhp t ngi dng, truy xut cc thng tin cn
thit t m hnh trong (Model), v cp nht thch hp phn hin th (View). Giao
din vi ngi s dng phn mm c thit lp nh s tng tc qua li gia

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.

Cn trong mu Supervising Controller, d liu c nhn bi View, View s


chuyn cho Controller cp nht vo Model, ri sau d liu trong Model s c
a li cho View m khng thng qua Controller, do vy lung x l ny c hnh
tam gic.

IV. ZEND FRAMEWORK


1. Zend framework l g?
- Zend Framework l mt Framework hon chnh cha y mi th chng
ta cn pht trin ng dng web. N bao gm c thnh phn m hnh kin trc
MVC m bo website c t chc theo cch tt nht. i cng vi thnh phn
kin trc MVC c cc thnh phn khc nh Authentication, Searching,
Localization, PDF, Email v Web Services.

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

Khi c request t ngi dng th lp tc bootstrap file (index.php) s n


nhn request ny v giao nhim v iu khin hng truy cp cho Front Controller,
Front Controller s chn v gi action tng ng. Sau action ny s tng tc
vi Zend_Db_Table (Model) v tr kt qu v cho Zend_View (View). Cui cng,
hin th kt qu ra trnh duyt.
Tm li, Zend Framework s dng kin trc MVC xy dng ng dng
website gip cho vic nng cp v bo tr ng dng mt cch d dng.

13
5. Hng dn ci t:
5.1. Ci JDK, NetBeans

s dng c Zend Framework, chng ta cn 04 files ci t nh trn v


ci t theo th t t trn xung. i vi 03 files u tin vic ci t rt n gin,
nn ti khng hng dn.
5.2. Cu hnh Zend Framework (ZF)
Sau khi ci t xong 03 files u tin, chng ta ci xong NetBeans v
Wampp Server. Tip theo chng ta s cu hnh ZF.
Bc 01: gii nn file ZendFramework-1.11.11-minimal.zip vo th mc
C:\Program Files. Sau khi gii nn xong ta c C:\Program
Files\ZendFramework-1.11.11-minimal c ni dung nh hnh:

Bc 02: cu hnh bin mi trng ca Windows. Click chut phi vo My


Computer -> Properties -> Advanced. S hin ln 01 hp thoi, trong hp thoi c
02 phn (User variables v System variables) y chng ta ch cu hnh cho User
variables. Chn New to:

14

- Variables name: PATH


- Variables value: C:\wamp\bin\php\php5.3.8 (ng dn ti th mc cha
PHP).

- Variables name: ZEND_TOOL_INCLUDE_PATH


- Variables value: C:\Program Files\ZendFramework-1.11.11-minimal\library
(ng dn ti th mc cha th vin ZF).

Xong click OK ng tt c cc hp thoi.

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

Ti y chng ta cu hnh xong ZF s dng trong NetBeans. Trong cu


trc ng dng ca ZF c th mc library. Mc nh khi to ra ng dng, th mc
ny rng, s dng c chng ta phi copy th vin ZF vo (th vin ny
khong 30MB). Nu chng ta to ng dng no cng phi lm nh vy thi rt
phin, do chng ta s cu hnh PHP khi chy ng dng PHP s s dng ci
th vin ZF nm trong C:\Program Files\ZendFramework-1.11.11-minimal\library.
Khi no chng ta upload ng dng ny ln mng (host trn mng khng h tr ZF)
th ta phi copy th vin ZF vo th mc library.
Bc 05: cu hnh PHP, click vo biu tng Wampp Server -> PHP ->
php.ini thm dng include_path = "C:/Program Files/ZendFramework-1.11.11minimal/library" vo cui file. Gi tr nm trong cp ngoc kp l ng dn ti
th vin ZF (ch : khi gii nn th vin ZF ti u th ch ng dn ti , y
ti gii nn trong C:\Program Files)

Bc 06: cu hnh Apache, do ZF s dng mode_rewrite m mc nh


Wampp Server khng bt ch ny, cch lm tng t nh Bc 05 thay v chn
PHP ta chn Apache -> Apache modules -> rewrite_module

16

5.3. To ng dng Zend Framework


Bc 01: chn File -> New Project s hin 01 hp thoi, trong Categories
chn PHP trong Projects chn PHP Application, sau click Next, t tn Project
trong Project Name, Source Folder l ni lu project, nhng thng s khc
mc nh, click Next. Check vo Copy file from Source Folder to another location,
ta chn Browse v chn ti th mc C:\wamp\www ca Wampp Server.

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

2. Cu hnh Wampp Server


Bc 01: click vo biu tng Wamp -> Apache -> httpd.conf nh hnh bn
di.

Bc 02: xung cui file, pasts on code bn di vo.

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.

resources.db.params.host = "127.0.0.1": a ch host.


resources.db.params.username = "root": ti khon ng nhp MySQL.
resources.db.params.password = "": mt khu ng nhp MySQL.
resources.db.params.dbname = "wine": tn database.

20
II. S DNG
1. Trang ngi dng
Truy cp vo a ch: http://localhost:88

21
1.1. Xem chi tit sn phm

1.2. Thm vo gi hng


mua hng, trc ht phi ng nhp, cc ti khon khch hng to sn:
user: a, pass: a; user: b, pass: b; user: c, pass: c.

Sau khi ng nhp, chn nt thm vo gi hng

22

1.3. Thanh ton


Click vo pha di gi hng, chn phng thc thanh ton.
Xem gi hng

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

Sau khi ng nhp thnh cng s hin ra trang bn di:

24
Click vo menu Sn phm -> Danh sch xem tt c danh sch cc sn
phm hin c

25

TI LIU THAM KHO


1. Getting Started with Zend Framework.
2. Zend Framework 1.8 Web Application Development.
3. Easy PHP Websites with the Zend Framework.
4. Programmer's Reference Guide Zend Framework.

You might also like