Tải bản đầy đủ (.doc) (51 trang)

Mô hình MVC trong Zend Framework

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.67 MB, 51 trang )




 !" #$%&'()!# *+ ,
-
./01.2345637893 7:;<3:37
Gio viên hưng dn:Ngô Văn Công
=>=
?@A?@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$
>B.CDEFG%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%H
,I%JK%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L
I%I%MN1O3EP%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L
I%$%45Q37R4/R7.S.TGUVN%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L
I%W4XC1.@YZEPN[.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\
I%]%45Q37R4/R374.23@^G%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\
,$_,+`>ab%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%c
$%I%.6.N4.dGe38"fZCeg0fh%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%c
$%I%I%"fZCeg0fhA[7i%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%c
$%I%$%.6.N4.dGjfZCeg0fh%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%c
$%I%W%X.kZ0@4l37NZ323km8?37jfZCeg0fhn%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%c
$%I%]%4o37E.pC@F3A5Gqh4.km8?37IjfZCeg0fhn%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%I&
$%I%H%/@A0X.jfZCeg0fhR4rs.V3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%II
$%$%.6.N4.dGC:4i34;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%II
$%$%I%+0k/34C:4i34;16.C:4i34WA6R%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%IW
$%W%e38"fZCeg0fh%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%I]
 $%W%I%.6.N4.dGe38jfZCeg0fh%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%I]
 $%W%I%I%e38"fZCeg0fhA[7in%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%I]
$%W%I%$%e38"fZCeg0fhA[CE5t@34o377in%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%I]
$%W%I%W%Gh4GUVNE.pC@YZe38"fZCeg0fh_%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%I]
$%W%I%]%KG/Nfi34R4/NNf.p3@YZe38"fZCeg0fh_%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%IH
$%W%$%uNkvA6RR4rs.V3Nf037"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%IL


$%W%W%:4i34;Nf037e38"fZCeg0fh%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%I\
$%W%]%>Gw37xmAq@:371.d@Nf037e38"fZCeg0fh%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$&
$%W%H%/@4A[C1.d@1[xyU8z37A6RNf23e38"fZCeg0fhn%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$I
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
2
Gio viên hưng dn:Ngô Văn Công
$%W%{%OGNfl@N45C?@@YZCuNRf0|e@NNf037"}CuNC08GAe~_%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$
$%W%L[.EMN^378?37EFGN.2316.e38"fZCeg0fh%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$
,W_,W%()!•!=# *+ *+*
K%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$c
W%I%M@NS4dN4v37%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$c
W%I%I.6.N4.dG%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$c
W%I%$:NS4dN4v37%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$c
 W%I%$%I%.6.N4.dGkS3R4€CA23gesk.Ne%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$c
 W%I%$%$%4/@44[37%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$c
W%$%*S3EM@NSU2G@FG4dN4v37s/3k/@4Nfz@NGUV3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W&
W%$%I%?@N.2G%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W&
W%$%I%$%v.N5t37%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W&
W%$%I%W%*S37C:NS@4^@3<37@YZ4dN4v37%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%WI
W%$%I%]KGUNfi34EMN4[37%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W$
W%W4y3N•@44dN4v37%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W$
W%W%I+QEwkeZke%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W$
W%]%:4i34TGZ33.dC8oA.dG%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%WH
W%H%+QEw@4^@3<37%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%WH
W%{%OG4i34^378?37%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W{
W%L%I%uNkvR45Q37N4^@@QsS3Nf037e38"fZCeg0fh%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W{
W%L%I%I%4D.NX0hVN3v.8ZNZsZke%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W{
W%L%I%$%OG4i34NeCRAZNe%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%W\
W%LI%W%.p3N4‚8Z34C?@kS3R4€CN4e0C:4i34EZ@OR%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Wc
W%\%i34S34#esk.Ne%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%]$

VNAGƒ3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%]\
Z.A.eGN4ZCh4Z0%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%]c
4ƒ3x„N@YZ./0;.2345637893
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
3
Gio viên hưng dn:Ngô Văn Công
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954

4
Gio viên hưng dn:Ngô Văn Công
4ƒ3x„N@YZ./0;.23R4S3s.d3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
5
Gio viên hưng dn:Ngô Văn Công

>B.CDEFG
Ở mọi thời đại ,trong mọi xã hội mỗi công việc đều có những đặc điểm riêng mang tính đặc
thù (nghiệp vụ) của nó . bởi vy m khi lm bất kỳ một việc gì ngưi ta đều xem xét xem công
việc đó thuộc phạm trù no của xã hội , những thông tin những vấn đề gì ảnh hưởng, điều tiết
đến nó.do vy m người ta chia ra thnh hai lĩnh vc rõ rng trong đời sống con người : kinh
tế ,xã hội. Mỗi một lĩnh vc gồm nhiều lĩnh vc mức dưi tổng hợp lên ví dụ kinh tế có: buôn
bn , thương mại đã từ lâu người ta tổ chức nghiên cứu ,đo tạo nguồn nhân lc về từng lĩnh
vc khc nhau da trên khả năng bẩm sinh sẵn có v sở thích để có điều kiện đi sâu nghiên cứu
cũng như thc hiện công việc một cch có hiệu quả , sâu sắc v cũng để tiếp cn vi nhiều vấn
đề mi trong cc lĩnh vc khc nhau .Khả năng chuyên môn nghiệp vụ l một đòi hỏi rất cần
thiết cho những người tham gia vo những công việc có liên quan m không phải cứ người no
khi được đo tạo cũng đủ, nắm vững yêu cầu của công việc chuyên môn.
Thc tế cho thấy con người luôn luôn tìm cch giảm thiểu những khó khăn trở ngại lm
cho công việc thc hiện được d dng v đòi hỏi chuyên môn nghiệp vụ không cao.
Trưc đây khi khoa học công nghệ chưa pht triển người ta cũng được nghiên cứu, tìm cch
tiếp cn r rng hơn vi công việc .Ngy nay khi khoa học nông nghệ pht triển tiên tiến chúng
ta cng có điều kiện thun lợi hơn trong xử lý công việc.
Ta xét riêng việc xử lý bn hng hng ngy của một công ty no đó. khi tin học chưa ra đời
thì việc bn hng v những việc liên quan khc đều thc hiện một cch rất khó khăn vất vả đòi
hỏi vững chuyên môn nghiệp vụ ,tốn nhân lc, không gian, chi phí cho việc thc hiện. ngy
nay tin học pht triển nhu cầu tin học hóa những công việc chuyên môn lặp đi lặp lại l yêu cầu
cấp thiết. tin học hóa sẽ mang lại lợi ích to ln về mọi mặt : nhân công, chi phí ti chính v
thm chí cả trình độ chuyên môn của người thc hiện nó (không đòi hỏi có chuyên môn nghiệp
vụ cao) bởi vì nó chỉ l những thao tc trên my đơn giản. tin học hóa bắt buộc phải có trong
thời đại hiện nay đối vi từng công ty, những cửa hng ln hay thm chí l cả những cửa hng
vừa v nhỏ.tuy nhiên đầu tư để xây dng hệ thống phục vụ công việc tính trong khoảng thời
gian ngắn l tốn kém nhưng xét về lâu di thì lợi ích mang lại l rất to ln ảnh hưởng cả đến
vn mệnh của một công ty. xét về phía người xây dng hệ thống thì đây l vấn đề không thể
giải quyết một cch chọn vẹn bằng một chương trình cho mọi hình thức, nó phụ thuộc vo
chuyên môn nghiệp vụ, yêu cầu thc tế đặt ra, v vì vy rất khó nếu không muốn nói l không

thể thc hiện được một cch tổng qut vấn đề ny. tùy thuộc vo những yêu cầu đặt ra đối vi
từng hon cảnh ta có cch giải quyết khc nhau tạm thời trong khỏang thời gian nhất định đp
ứng được yêu cầu đề ra của hệ thống.
Trong khuôn khổ bi thc tp chuyên nghnh.Da trên mã nguồn trang web Shopping bằng
Zend Framework trong khóa học Zend Framework online được viết bằng Zend framework 1.x
em đã pht triển thnh một d n của riêng mình viết bằng Zend framework 2.0
Em xin cảm ơn cc gio viên trường Đại học Nha Trang đã giảng dạy những kiến thức đại
cương cũng như chuyên nghnh.Em xin cảm ơn gio viên hưng dn Ngô Văn Công đã giúp
em hon thnh đề ti ny
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
6
Gio viên hưng dn:Ngô Văn Công
,I%JK
I%I%MN1O3EP
Kể từ cuối thp niên 80 đầu thp niên 90 công nghệ thông tin pht triển một cch nhanh
chóng về phương diện kỹ thut. điều đó l động lc pht triển cc ứng dụng về mặt kinh tế , xã
hội , văn hóa v quan trọng hơn l nó có ảnh hưởng ln về cả mặt chính trị , ổn định an ninh
chính trị trên ton thế gii. s pht triển mạnh mẽ của công nghệ thông tin có ảnh hưởng rất
ln đến s pht triển của nền kinh tế thế gii nó thâm nhp v có mặt ở mọi mặt của nền kinh
tế thế gii. Đặc biệt l việc buôn bn , trao đổi trên mạng.
Xét một khía cạnh nhỏ trong nền thương mại đó l công việc bn v phân phối sản phẩm
của một công ty hay một cửa hng có tổ chức quy mô ta thấy ngay được vai trò quan trọng của
công nghệ thông tin. nếu như công việc phân phối sản phẩm (bn hng) của công ty được thc
hiện theo phương php thủ công có nghĩa l mọi công việc đều được thc hiện bởi con người
v trên giấy tờ sổ sch dn đến việc tốn kém về mọi mặt : nhân lc, ti chính, trình độ , diện
tích, đòi hỏi nhân viên bn hng phải có trình độ nghiệp vụ điều đó l rất khó khăn. nhưng
quan trọng hơn l nó không mang lại hiệu quả trong kinh doanh thm chí còn xảy ra s nhầm
ln trong công việc gây thất thot trong công ty .
Vi s pht triển v ứng dụng mạnh mẽ của tin học thì tin học hóa cc quy trình nghiệp vụ
nếu có thể mang tính cấp thiết .

Quy trình bn hng của một công ty thuộc hệ thống quản lý kinh doanh của công ty nó giữ
một vai trò đặc biệt quan trọng trong hệ thống. việc bn hng phải được thc hiện một cch
nhanh chóng chính xc v phải tổng hợp thông tin bn hng cp nht cho ton bộ hệ thống giúp
cho cc nghiệp vụ khc trong công việc quản lý kinh doanh của công ty đp ứng thông tin một
cch chính xc kịp thời.
Xây dng hệ thống phải đp ứng được những yêu cầu của người sử dụng thích hợp vi hệ
thống quản lý kinh doanh của công ty. hệ thống phải đp ứng được những yêu cầu chung: xử lý
được lượng thông tin ln một cch chính xc nhanh chóng đp ứng được yêu cầu , lưu trữ , bảo
vệ dữ liệu khoa học thun lợi v an ton giúp cho công việc quản lý được đơn giản đảm bảo kết
quả cao, thay thế được cho hệ thống đang dùng (có nghĩa l nó đp ứng được tốt hơn về mặt xử
lý dữ liệu , xử lý cc yêu cầu tốt hơn , đa dạng hơn , nhanh hơn ). điều đó l yêu cầu tối thiểu
đối vi hệ thống đang xây dng.
Yêu cầu đặt ra trong công tc quản lý bn hng đi đến việc xây dng hệ thống trợ giúp bn
hng cho công ty sao cho phải đp ứng được yêu cầu nghiệp vụ , giao diện thân thiện vi người
sử dụng . mục đích xây dng hệ thống l lm giảm bt mức tối đa những khó khăn trong công
tc quản lý bn hng đp ứng được quy trình xử lý thông tin của hệ thống chính.
I%$%45Q37R4/R7.S.TGUVN
Để xây dng được hệ thống trợ giúp bn hng qua mạng vi độ chính xc v tính thc tế
cao thì yêu cầu cần phải khảo st thông tin của hệ thống phải chi tiết v chính xc dn đến việc
phân tích dữ liệu đầu vo , ra được chính xc . Mô phỏng quy trình bn hng , lưu trữ cc
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
7
Gio viên hưng dn:Ngô Văn Công
thông tin liên quan , thu thp cc mu biểu quan trọng .Trên cơ sở những thông tin được thu
thp được tiến hnh xây dng sơ đồ chức năng nghiệp vụ, sơ đồ dòng dữ liệu mức đỉnh, mức
dưi đỉnh , xây dng mô hình thc thể quan hệ v thiết kế một số modul quan trọng (lưu trữ
,tìm kiếm , xử lý thông tin ).
Thiết kế một số giao diện quan trọng của hệ thống sao cho vừa mang tính nghiệp vụ vừa
phải d sử dụng.
Lp d kiến xây dng cơ sở dữ liệu cho hệ thống phân tích đnh gi được phạm vi lưu trữ,

độ an ton của dữ liệu khi vn hnh, điều ny ảnh hưởng đến ton bộ hệ thống kinh doanh của
công ty.
Kết quả cuối cùng hệ thống phải có tính ưu việt: khả năng xử lý được lượng thông tin ln ,
chính xc ,lưu trữ khoa học thun tiện v an ton hơn hẳn hệ thống cũ . hệ thống tạo ra phải hỗ
trợ ti mức tối đa trong công việc quản lý bn hng của công ty.
I%W4XC1.@YZEPN[.
Về phân tích thiết kế hệ thống:Kết quả thu được của đề ti l mô hình phân tích hệ
thống,cơ sở dữ liệu,… có khả năng xây dng phần cơ sở dữ liệu cho ứng dụng website Bn
hng qua mạng.
Về mặt lp trình :Trên cơ sở nghiên cứu v p dụng Zend Framework 2.0,hon thnh cc
nội dung chủ yếu sau :
+Hiểu v vn dụng thnh công cc lp cở bản của zend framework để xây dng cc
module chủ yếu cho hệ thống: Module sản phẩm, module hệ thống trong d n (dùng để cấu
hình cc phần mặc định như layout,router,model,…).
+Đảm bảo hệ thống vn hnh theo đúng cấu trúc của một ứng dụng Zend
Framework(Theo mô hình MCV).
I%]%45Q37R4/R374.23@^G
Nghiên cứu Zend Framework thông qua cộng đồng Zend Việt Nam://www.zend.vn/forum.
Nghiên cứu dưi s chỉ bảo của gio viên hưng dn thc tp chuyên nghnh.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
8
Gio viên hưng dn:Ngô Văn Công
,$_,+`>ab
$%I%.6.N4.dGe38"fZCeg0fh
$%I%I%"fZCeg0fhA[7i
Framework l một thư viện cc lp đã được xây dng hon chỉnh, l một “bộ khung ” để
pht triển cc phần mềm ứng dụng. Có thể ví Framework như một tp cc “vt liệu” ở từng
lĩnh vc cho người lp trình viên, thay vì họ phải mất thời gian để t thiết kế trưc khi dùng.
Do vy, người lp trình viên chỉ việc tìm hiểu v khai thc cc vt liệu ny rồi tiến hnh gắn
kết (tức lp trình) để tạo ra sản phẩm.

2%I%$%.6.N4.dGjfZCeg0fh
Như đã biết ,PHP l một ngôn ngữ script rất phổ biến hiện nay bởi lý do:linh hoạt,d sử
dung,d học , v…v .Nhưng đôi khi việc viết mã PHP ,hay bất kỳ ngôn ngữ lp trình no
khc,có thể trở nên đơn điệu v lủng củng .Đó l lúc PHP framework có thể giúp bạn.
PHP framework lm cho s pht triển của những ứng dụng web viết bằng ngôn ngữ PHP
trở nên trôi chảy hơn, bằng cch cung cấp một cấu trúc cơ bản để xây dng những ứng dụng
đó,giúp bạn tiết kiệm được thời gian ,tăng s ổn định cho ứng dụng v giảm thiểu số lần viết
lại mã cho lp trình viên. Ngoi ra PHP framework còn giúp những người mi bắt đầu có thể
xây dng cc ứng dụng ổn định nhờ việc tương tc chính xc giữa cc database ,mã (PHP) v
giao diện (HTML) một cch riêng biệt.Điều ny cho phép bạn dnh nhiều thời gian để tạo ra
cc ứng dụng web ,hơn l phí thời gian để viết cc đoạn mã lặp lại trong một project.
$%I%W%X.kZ0@4l37NZ323km8?37jfZCeg0fhn
Có rất nhiều loại PHP framework sẵn có hiện nay cho bạn la chọn, thm chí bạn có thể t
tạo ra 1 PHP framework cho riêng mình, tuy nhiên, điều ny chỉ được khuyến khích dnh cho
cc chuyên gia PHP (PHP expert) , những người đã có kiến thức v hiểu biết vững vng
về framework. Khi bạn cần tìm một loại PHP framework phù hợp nhất vi nhu cầu của mình,
đừng quên lưu ý về độ phổ biến của nó, ngoi ra ứng dụng web của bạn được pht triển bởi bao
nhiêu người cũng l 1 điều nên lưu ý. Một PHP framework cng được phổ biến, tức l nó cng
được nhiều người sử dụng v pht triển. Mặt khc, nếu bạn muốn xây dng ứng dụng cho
website của riêng mình, tốt nhất bạn nên chọn 1 PHP framework phù hợp v d sử dụng nhất
đối vi nhu cầu của bạn – không quan trọng nó có được nhiều người sử dụng hay không.
Cc yếu tố bạn nên lưu ý trưc khi muốn tìm kiếm 1 PHP framework để sử dụng bao gồm
như sau: d sử dụng, pht triển nhanh v hiệu quả, phổ biến giữa cc developer, có cc tính
năng mạnh mẽ, có din đn hỗ trợ. Hầu hết cc framework đều có cc điểm yếu v thế mạnh
khc nhau, ví dụ Zend Framework đã được phổ biến từ version 1.3 v có đầy đủ cc tính năng
mạnh mẽ, cộng thêm 1 cộng đồng pht triển hỗ trợ extension rộng ln. Ngược lại, CakePHP lại
l 1 loại PHP framework khc, mi ra đời sau ny, nhưng lại ít có cộng đồng pht triển hỗ trợ
hơn Zend, nhưng nó cũng được nhiều người la chọn vì tính thân thiện vi người dùng v d
sử dụng.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954

9
Gio viên hưng dn:Ngô Văn Công
Như bạn có thể thấy, mỗi loại PHP framework đều có lợi thế riêng của nó, thế nên tốt nhất
l bạn nên tìm hiểu kỹ v xi thử để có chọn la đúng đắn cho nhu cầu của mình. Ngoi ra bạn
có thể nhờ những người đã có kinh nghiệm sử dụng tư vấn thêm cho mình, họ sẽ giúp bạn phân
tích cc tính năng cần thiết cho nhu cầu của mình v nên sử dụng loại no.
$%I%]%4o37E.pC@F3A5Gqh4.km8?37IjfZCeg0fhn
Lỗi l điều không thể trnh khỏi trong việc lp trình, nhưng PHP framework sẽ giúp bạn
hạn chế rất nhiều sai sót bằng cch cung cấp cc thư viện mã lệnh chuẩn. Viết lại cc đoạn mã
lặp lại nhiều lần không cần thiết sẽ d dn đến việc pht sinh lỗi, v PHP framework sẽ loại bỏ
vấn đề ny giúp bạn.
Tuy nhiên, bạn vn phải có những chú ý khi sử dụng bất kỳ PHP framework no. Ví dụ,
nếu bạn không phải l 1 chuyên gia lp trình PHP, bạn nên sử dụng 1 loại framework phổ biến,
có 1 cộng đồng hộ trợ rộng ln. Vn có rất nhiều loại framework có ít hoặc không có cộng
đồng hỗ trợ, v cc loại framework ny chủ yếu được viết bởi cc c nhân no đó vi kiến thức
không chuyên sâu.
Một số lỗi phổ biến khc l do bạn không bảo đảm được cấu hình để xuất phiên bản
database v web server tương thích vi framework. Ví dụ, Seagull PHP Framework đề xuất
cấu hình như sau:
+PHP: PHP 4.3.0 is the minimum, later versions work fine, as do versions PHP 5.1.1
and above. Avoid anything in the 5.0.x series
+MySQL: MySQL 4.0.x, 4.1.x and 5.0.x are all supported. You can also use 3.23.x.
Apache: Seagull works fine with 1.3.x and 2.x series of Apache.
Nếu bạn không đp ứng được cc yêu cầu ny, thì framework sẽ không thể hoạt động 1
cch hiệu quả được. Thm chí nếu bạn l 1 chuyên gia PHP, bạn cũng nên xem qua cc ti liệu
hưng dn về cấu hình đề xuất của framework trưc khi muốn sử dụng nó. Ngoi ra việc xem
hưng dn ci đặt của 1 framework sẽ giúp bạn trnh được những lỗi không cần thiết v tiết
kiệm được thời gian để đi vo pht triển ứng dụng của mình cho những lần sau.
$%I%H%/@A0X.jfZCeg0fhR4rs.V3
Zend Framework có 1 cộng đồng pht triển rộng ln, v nó tp trung vo cc ứng dụng

web theo phong cch 2.0. Vì được phổ biến rộng rãi, v có 1 cộng đồng người dùng tích cưc,
Zend được gọi l “Công ty PHP”. Zend l 1 trong những framework phổ biến nhất hiện nay.
Nó có cc tính năng mạnh mẽ, thường được sử dụng cho cc công ty ln, v bạn cần phải có
lượng kiến thức kh sâu rộng về PHP để có thể sử dụng được nó.
CakePHP l 1 la chọn tuyệt vi cho những lp trình viên có kiến thức nâng cao về PHP.
Nó da trên cùng 1 nguyên tắc thiết kế vi Ruby on Rails, l 1 framework mạnh về khía cạnh
rapid development , giúp lp trình viên đẩy nhanh qu trình pht triển ứng dụng của họ. Vi
cc hệ thống hỗ trợ, tính đơn giản v mỗi trường mở cao đã giúp cho CakePHP trở thnh 1
trong nhữngframework phổ biến nhất hiện nay.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
10
Gio viên hưng dn:Ngô Văn Công
Symfony được ra đời nhằm mục đích giúp đỡ nâng cao hơn cho những lp trình viên muốn
tạo ra cc ứng dụng website doanh nghiệp. Đây l 1 PHP framework mã nguồn mở vi đầy đủ
cc tính năng cần thiết. nhưng nó có vẻ chạy chm hơn cc framework khc.
Codelgniter được biết đến như 1 framework d hiểu v d sử dụng, cho hiệu suất cao.
Không giống như Symfony, PHP framework ny phục vụ mục đích lý tưởng cho việc xây dưng
cc ứng dụng chia sẻ , lưu trữ. Nó cung cấp cc giải php đơn giản, v có một thư viện video
hưng dn phong phú, din đn hỗ trợ, v cung cấp sẵn 1 hưng dn sử dụng cho người mi
bắt đầu. PHP framework ny rất phù hợp cho 1 người mi lm quen vi framework.
Seagull cũng l 1 PHP framework tốt phục vụ cho việc xây dưng website v cc GUI. Nó
l 1 framework cc kỳ d sử dụng cho cả những người mi mi lm quen vi lp trình PHP
đến những chuyên gia trong lp trình PHP. Vi những người mi lm quen vi lp trình PHP,
Seagull cung cấp 1 thư viện cc mu ứng dụng có thể được tùy chỉnh để phù hợp vi nhu cầu
của bạn. Đối vi cc chuyên gia PHP, Seagull cung cấp cc tùy chọn my chủ, bao gồm cc
phương php hay nhất, tiêu chuẩn, v modular codebase – giúp cc lp trình viên xây dng cc
ứng dụng web một cch nhanh chóng v d dng. Seagull có một cộng đồng pht triển rộng ln
v nhiều ti liệu hưng dn hỗ trợ.
Tóm lại:
PHP framework l 1 giải php tuyệt vời cho cc lp trình viên pht triển cc kỹ năng như:

giảm thiểu việc viết lại mã, tăng tốc qu trình pht triển ứng dụng, v chuẩn hóa mã lệnh khi
xây dng cc ứng dụng web. Không chỉ giúp cc bạn cải thiện tốc độ pht triển ứng dụng, nó
còn giúp bạn giảm thiểu cc lỗ hổng bảo mt 1 cch triệt để. PHP framework phù hợp cho cả
những người mi lm quen hay những bạn đã có kiến thức vững về PHP.
Ngy nay, có rất nhiều PHP framework được cung cấp, v vì vy chắc chắn cc bạn có thể
tìm ra một framework có cc tính năng phù hợp vi nhu cầu của mình hỗ trợ, tốc độ, quy mô
v nhiều hơn nữa. Một số PHP framework phổ biến nhất hiện ny bao gồm: Zend Framework,
CakePHP, Symfony, Codelgniter, v Seagull.
$%$%.6.N4.dGC:4i34;
Ý tưởng chung đằng sau cch thức lm việc của 1 PHP framework được kể đến l Model
View Controller (MVC). MVC l 1 mô hình (kiến trúc) trong lp trình, cho phép tch biệt cc
mã nghiệp vụ (business logic) v giao diện (UI) thnh cc phần riêng biệt, điều ny đồng nghĩa
vi việc ta có thể chỉnh sửa chúng 1 cch riêng lẻ. Trong cụm từ MVC thì:
+Model (M) có thể hiểu l phần xử lý cc thao tc về nghiệp vụ(business logic).
+View được hiểu l phần xử lý lp giao diện (presentation layer).
+Controller lm nhiệm vụ lọc cc request đc gọi từ user, có chức năng như 1 route: điều
chỉnh, phân luồng cc yêu cầu để gọi đúng Model&View thích hợp.
Về cơ bản,MVC chia nhỏ qu trình xử lý của 1 ứng dụng, vì thế nên bạn có thể lm việc
trên từng thnh phần riêng lẻ, trong khi những thnh phần khc sẽ không bị ảnh hưởng ti.
Thc chất, điều ny giúp đỡ bạn lp trình PHP nhanh hơn v ít phức tạp hơn.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
11
Gio viên hưng dn:Ngô Văn Công
Mô hình MVC đơn giản
Sơ đồ 1 chuỗi MVC đơn giản
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
12
Gio viên hưng dn:Ngô Văn Công
Sau cùng l 1 cch phức tạp hơn để hiểu về mô hình MVC
$%$%I%+0k/34C:4i34;16.C:4i34WA6R

Điểm giống nhau:
+Cả hai đều l mô hình kiến trúc p dụng trong lp trình được tch thnh 3 thnh phần.
+Tch biệt s phụ thuộc giữa ngôn ngữ lp trình, môi trường pht triển, xử lý logic.
+Cc thnh phần ở mỗi mô hình có nhiều điểm tương đồng như Presentation Layer v
View
Điểm khc biệt:
+Khc biệt rõ nhất l cch xử lý yêu cầu (workflow) của 2 mô hình.Ở MVC, thnh phần
Model giữ chức năng của cả lp Business v Data Access trong mô hình 3 lp.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
13
Gio viên hưng dn:Ngô Văn Công
+Mô hình 3 lp thường được sử dụng trong lp trình ứng dụng, trong khi đó MVC được ưu
chuộng nhiều trong lp trình website vì tính linh hoạt v không bắt buộc cc DTO như 3 lp
$%W%e38"fZCeg0fh
$%W%I%.6.N4.dGe38jfZCeg0fh
$%W%I%I%e38"fZCeg0fhA[7in
Zend Framework l sản phẩm framework mã nguồn mở được pht triển trên nền PHP 5.0
theo chuẩn hưng đối tượng.
Zend Framwork l framework theo mô hình MVC.
Zend Framework có hỗ trợ lm việc vi Tempalate engine kết hợp cùng tầng View
$%W%I%$%e38"fZCeg0fhA[CE5t@34o377in
+ Tạo ứng dụng web theo mô hình chuẩn MVC .
+Url tiêu chuẩn, ngắn gọn .
+Hỗ trợ phân quyền ti từng Action .
+Có cc thnh phần thư viên hỗ trợ API của cc nh cung cấp như Google, Yahoo, Flick .
+Quản lý code d dng, liệt kê v lấy cc truy vấn history .
+D dng pht triển thêm cc ứng dụng nhúng, sử dụng Plugins.
$%W%I%W%Gh4GUVNE.pC@YZe38"fZCeg0fh_
ZF l một PHP framework ra đời kh tr, tiếp thu những tinh hoa v khắc phục những sai
lầm m cc framework trưc mắc phải.

Ưu điểm:
+ZF được viết theo kiểu OOP nên nó thừa hưởng cc thế mạnh của kiểu viết ny. Cc lp
của.
+ZF được BA (Business Analysis) rất chuẩn v khi cần mở rộng bạn có thể dùng thể
dùng tính chất thừa kế của OOP. Nói chung l chúng ta không phải chỉnh sửa core của ZF.
Hầu như cc version mi của ZF ko có nhiều thay đổi trong core nên ta có thể d dng
update.
+ZF tích hợp được gần như tất cả cc thư viện PHP v cc CMS khc để sử dụng. VD:
Smarty , Pear , FCKEditer , Drupal
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
14
Gio viên hưng dn:Ngô Văn Công
+Cch viết của ZF rất thân thiện v đơn giản. Tích hợp những mi nhất của lp trình web
như: JSON - Search - Syndication - Web Services
+ZF được sử dụng trong cc d n ln v có kế hoạch pht triển di lâu
Khuyết điểm:
+Mất nhiều thời gian để tìm hiểu về thư viện của ZF
+Một số lp chưa ổn định, có s thay đổi, gây khó khăn cho người sử dụng khi cp nht
cc phiên bản.
$%W%I%]%KG/Nfi34R4/NNf.p3@YZe38"fZCeg0fh_
Cc phiên bản đã pht hnh:
+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.
+ Zend Framework 2.0
Chúng ta điểm lại đôi chút về lịch sử của ZF:
•2005 trong cuộc hội thảo PHP. Zend đã đưa ra ý tưởng về bộ framework ny
• Thng 3 năm 2006: Phiên bản v0.1 mở đầu: Chẳng có gì nhiều từ bản ny ngoi vi lib hỗ trợ
code v tính ton nhanh
• Thng 7 năm 2007: Phiên bản v 1.0 chính thức ra đời. Tht tuyệt vời khi đã có mô hình chuẩn

hóa M-V-C vi kh nhiều partern trong đó
• Thng 3 năm 2008: Phiên bản v1.5 Một bưc đột ph trong cc thnh phần hiển thị Form,
Layout, Context. Từ đây chúng ta có multi-layout (multi-template)
• Thng 4 năm 2009: Phiên bản v1.8 Đây đã được coi l một phiên bản ổn định nhất từ trưc
ti nay. S ra đời của: Application, Tool, Nav đã giúp chúng ta d dng sử dụng v hạn chế
code đầu vo như trưc.
• Thng 10 năm 2010: Phiên bản v1.11: V chúng ta có thể coi đây l phiên bản gần như l
cuối cùng của ZF 1.0.
• Vo ngy 25-07-2012. ZF team đã cho công bố về Zend Framework 2.0 phiên bản chính thức
Chúng ta đã có gì trong ngy hôm nay?
•Một bộ core Zend Framework lm việc ổn định vi nhiều thnh phần , cc component,
adapter, plugin được thêm vo. Giúp chúng ta có thể thc hiện mọi d n từ rất nhỏ đến rất ln.
•Ti giờ ZF trở nên rất phổ biến trong v ngoi gii lp trình PHP
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
15
Gio viên hưng dn:Ngô Văn Công
•Có cộng đồng hỗ trợ ln.
Vy đã tốt thế thì còn vấn đề gì tồn động trong ZF 1.x? Theo Rob Allen - Một thnh viên
của nhóm pht triển ZF v cũng l người viết quyển sch Zend Framework In Action trong
cuộc hội thảo ZF 2011 đã đưa ra nhn định:
•Khó học đối vi bất kỳ một Coder/Developer no.
•Hiệu suất xử lý còn gặp hạn chế. (Lý do? ở dưi)
•Qu nhiều cc lp "magic"
•Còn nhiều ci không thống nhất trong cc thnh phần.
Ci gì mi trong ZF 2.0?
•Có một ti liệu tốt hơn
•Gắn kết cc hưng dn, tutorial lại để giúp người dùng d học .Ti liệu tham khảo v
hưng dn sử dụng chi tiết kèm theo cc ví dụ cụ thể.
Cc địa chỉ API được thống nhất
Hỗ trợ cc ngôn ngữ khc để mọi người trên ton cầu có thể đọc bằng bản ngữ. (Bc no

VN pro tiếng anh v có khả năng có thể đăng ký translate ti liệu)
D dng mở rộng
•Xóa bỏ Singletons partern. Điều ny sẽ giúp việc mở rộng được d dng hơn.
•Loại bỏ cc hard-coded bị trùng lặp
Nâng cấp hiệu suất xử lý
•Tăng tốc độ xử lý trên 200% so vi ZF1
•Cc công cụ giúp deploy cũng như cc tùy chọn để d dng xử lý khi chuyển đổi hệ
thống từ server ny sang server khc
Đơn giản hóa
•Tp trung vo cc thnh phần cốt lõi
•Code d dng đọc hơn
•Có cc API phù hợp hơn
•Hỗ trợ PHP 5.3 vi NameSpace
Hiện tại vấn đề Autoload vn đang được thảo lun
La chọn 1: Có namespace rõ rng, Không sử dụng include_path.Vi la chọn ny thì
người code vn code bình thường v thay vì dùng include_path thì chúng ta dùng namespace.
La chọn ny giúp chúng ta tăng khoảng 40% hiệu suất xử lý.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
16
Gio viên hưng dn:Ngô Văn Công
La chọn 2: Sử dụng 1 lp - ClassMap nó sẽ l bản đồ mapping. Chỉ dn cho hệ thống
load cc file cần thiết thay vì autoload all như hiện nay
Vi s la chọn ny thì người code khi deploy sẽ phải viết file mapping ny. V tht khó
xử lý khi có một hệ thống ln.uy nhiên la chọn ny cho phép chúng ta tăng khoảng 150%
hiệu suất.
Chúng ta sẽ có thêm một thnh phần mi đó l Plugin Autoload.Nó sẽ giúp chúng ta
mapping cc Plugin v load t động khi no được gọi. Vi việc đó nó sẽ giúp chúng ta tăng
thêm hiệu suất khoảng trên 50%
Hệ thống xử lý lỗi mi.
Mô hình MVC .

Controller, dispatcher, hook points.
View.
Model vn chưa có gì thay đổi.
Vi mô hình MVC mở rộng mi ny sẽ giúp chúng ta thoải mi trong việc sử dụng view
thông qua cc hook points.V tăng hiệu suất thông qua cc dispatcher mi.
$%W%$%uNkvA6RR4rs.V3Nf037"
•Zend_Db: Da trên đối tuợng PDO (PHP Data Objects), cung cấp cch thức giao tiếp vi
database.
•Zend_Controller: giúp lấy cc request từ phía Client v thc thi nó bằng cc Action.
•Zend_View: chính l tầng View trong mô hình MVC, giúp chúng ta hiển thị những kết
quả trong xử lý Controller v Models ra bên ngoi.
•Zend_Auth: cung cấp một API cho việc chứng thc ti khoản khi đăng nhp vo hệ thống.
•Zend_Cache: giúp cho cc ứng dụng không phải sử dụng CPU hoặc truy xuất vo database
qu nhiều.
•Zend_Currency: xử lý tất cả cc vấn đề liên quan đến tiền tệ
Zend_Date: xử lý tất cả cc vấn đề liên quan thời gian.
•Zend_Feed: xử lý vi Rss v Atom feeds .
•Zend_File: cung cấp, hỗ trợ mở rộng việc upload v download của cc tp tin. Nó gắn liền
vi kiểm tra cc chức năng của tp tin.
•Zend_Filters: lọc dữ liệu trưc khi thc hiện một qu trình xử lý no đó .
•Zend_Form: đơn giản hóa việc tạo form v xử lý cc ứng dụng trên website.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
17
Gio viên hưng dn:Ngô Văn Công
•Zend_Local: l một thư viện trả lời cho câu hỏi lm sao ứng dụng c1o thể sử dụng trên ton
thế gii .
•Zend_Pdf: Tạo v xử lý cc file PDF .
•Zend_Search: l một lp cung cấp cho chúng ta cc phương thức search trên nội dung của
cc tp tin lưu trữ thông tin.
•Zend_Translate: l giải php cho cc ứng dụng đa ngôn ngữ .

•Zend_Validate: dùng để kiểm tra dữ liệu nhp vo có phù hợp vi yêu cầu hay không .
•Zend_Acl: giúp chúng ta phân quyền cho ứng dụng chi tiết trên từng action, controller v
module.
$%W%W%:4i34;Nf037e38"fZCeg0fh_
Bất cứ một ứng dụng no được xây dng theo mô hình MVC no thì cũng điều phải tuân
thủ những nguyên tắc m mô hình MVC mang lại.
Model : Cung cấp tp hợp cc lp được trừu tượng hóa sử dụng cho việc truy xuất dữ liệu.
Lp phục vụ: Zend_DB, Zend_DB_Table .
View : Định nghĩa cc thông tin hiển thị phía người dụng sau khi được xử lý v trả về từ
controller. Lp phục vụ: Zend_View .
Controller : Kiểm sot dữ liệu vo ra. Xuất thông tin ra tầng View khi được thc thi. Lp
phục vụ: Zend_Controller.
Hình 2.3.2.1: Mô hình MVC trong Zend Framework .
Khi có một request từ người dùng. Controller sẽ tiếp nhn request, phân tích request, sau đó
sẽ phân luồng request để gọi đến Model v View tùy vo request m người dùng đã gửi. Khi
người dùng gửi một request từ browser thì nơi đầu tiên tiếp nhn request đó đầu tiên l
controller. Tùy vo request, m controller sẽ phân luồng đến model v view.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
18
Gio viên hưng dn:Ngô Văn Công
Ngoi ra, mô hình MVC trong ZF còn có thể được tổng qut hóa bằng mô hình sau:
Hình 2.3.1.2: Mô hình MVC trong Zend Framework
Tóm lại, một ứng dụng được xây dng theo mô hình MVC hoạt động tổng qut như sau:
Tiếp nhn request từ trình duyệt dưi dạng HTML. Sau đó được biên dịch thông qua Java
Servlet → controller tiếp nhn, phân tích request để phân luồng đến model v view. Cuối cùng
trả về trình duyệt dưi dạng một response HTML.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
19
Gio viên hưng dn:Ngô Văn Công
$%W%]%>Gw37xmAq@:371.d@Nf037e38"fZCeg0fh

Hình 2.3.4.1: Quy trình lm việc trong Zend Framework.
Giải thích quy trình:
•Bưc 1: Một yêu cầu được tạo ra v đối tượng Request Object được tạo ra .
•Bưc 2: routeStartup được nạp .
•Bưc 3: Router xử lý yêu cầu .
•Bưc 4: routerShutdown được nạp .
•Bưc 5: dispatchLoopStartup được nạp .
•Bưc 6: Qui trình gửi thông tin được bắt đầu .
•Bưc 7: preDispatch được nạp .
•Bưc 8: Dispathcher gọi Action Controller .
•Bưc 9: Action Controller tạo Response Object .
•Bưc 10: postDispatch được nạp .
•Bưc 11: Nếu có Action no được gọi thì quay lại bưc 7 .
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
20
Gio viên hưng dn:Ngô Văn Công
•Bưc 12: dispatchLoopShutdown được nạp .
•Bưc 13: Response được gửi lại.
$%W%H%/@4A[C1.d@1[xyU8z37A6RNf23e38"fZCeg0fhn
a. Cc lp được phân cấp theo tên thư mục:
Trên thc tế, Zend Framework da vo thư viện để đọc v lm việc trên cc lp một cch
rất cụ thể. Bởi đường dn chi tiết của chúng đã được thể hiện rõ nét ngay trên tên của chúng .
Ví dụ:
Vi class Zend_Db_Table ta có thư mục Zend/Db/Table.php.
Vi class Zend_Application_Bootstrap_Bootstrapper ta có thư mục
library/Zend/Application/Bootstrap/Bootstrapper.php .
b. Controller thể hiện trên URL:
http://localhost/zfdemo/admin/: Tìm ti indexAction trong adminController để thc thi .
http://localhost/zfdemo/admin/login: Tìm ti loginAction trong controller adminController
để thc thi .

Tìm ti vewsAction trong controller newsController v
get id=15 để thc thi.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
21
Gio viên hưng dn:Ngô Văn Công
$%W%{%OGNfl@N45C?@@YZCuNRf0|e@NNf037"}CuNC08GAe~_
Đối vi mỗi project được xây dng trong ZF đều có cấu trúc thư mục của một project tương t
như sau:
$%W%{%I%Cấu trúc thư mục của một project trong ZF
$%W%L%[.EMN^378?37EFGN.2316.e38"fZCeg0fh.
PHP yêu cầu trong hệ thống l từ 5.3.3 trở lên. Để chạy tốt, tôi khuyến co sử dụng xampp
phiên bản 1.7.4 (tương đương PHP 5.3.5).
Đầu tiên, bạn cần chuẩn bị bộ source gốc của Zend Framework 2.0.
Bạn có thể truy cp v download theo đường link ny:
.
Khi giải nén bạn sẽ thấy cấu trúc như hình bên dưi:
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
22
Gio viên hưng dn:Ngô Văn Công
Hình 2.3.7.1:Cấu trúc một d n Zend Framework 2.0
Kế ti, bạn cần download phiên bản zend framework 2.0 tại đây:
/>Sau đó giải nén v copy thư mục library vo th mục vendor/ZF2 của chúng ta theo cấu
hình ở trên.
+ Thư mục config: Chưa cc file config chính cho hệ thống.
+ Thư mục data: Dùng để chứa dữ liệu v cc file cache nếu chúng ta có dùng cache.
+ Thư mục vendor: L thư mục dùng để chứa thư viện zend framework 2.0. Thư viện được
chứa theo đường dn sau: vendor/ZF2/library/Zend.
+ Thư mục Module: L thư mục dùng để chứa cc module của ứng dụng.
+ Thư mục Public: L thư mục chứa cc thông tin như css, js, images. Đồng thời chứa file
index.php chính v .htaccess

Trong thư mục public đã có sẵn thư mục js, css, images v file index.php, .htaccess. Đồng
thời trong thư mục config cũng đã có sẵn file tên: application.config.php.
Đây l file chứa thông tin cấu hình như khai bo module như khai bo module có trong hệ
thống, khai bo thư viện vendor, cache,….
Kế ti chúng ta xem thư mục module có gì. Thư mục module hiện tại sẽ có thư mục
Application. Đây l module mặc định của hệ thống. Khi chạy ứng dụng ta sẽ có kết quả như
sau:
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
23
Gio viên hưng dn:Ngô Văn Công
Hình 2.3.7.2:Module mặc định hệ thống
Chạy ứng dụng đầu tiên vi zend Framework 2.0:
Tại thư mục module tạo thư mục Home theo cấu trúc sau:
Module/
/Home
/config
/view
/home
/home
/src
/Home
/Controller
/Model
/Form
Như bạn thấy đấy, ở Zend Framework 2.0. Ứng dụng được quản lý bằng một cơ chế
module riêng biệt. Cụ thể l module manager. Khi đó, cc ứng dụng sẽ được tch riêng biệt. V
chúng ta sẽ cấu hình từng module một chứ không gộp chung cấu hình tất cả module giống
vi Zend Framework 1.12. Vì thế, ở đây chúng ta phải tp lm quen vi kiến trúc mi ny.
Cụ thể:Một module sẽ bao gồm 3 thư mục chính l config, view, src.
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954

24
Gio viên hưng dn:Ngô Văn Công
•Config: chứa file cấu hình của module.
•View: Chưa cc file view của module.
•Src: Chứa cc thnh phần controller, model v form của module.
Tiếp tục ta tạo file Module.php trong module home. Vi nội dung sau:
<?php
namespace Home;
class Module
{
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
}
Mục đích của file ny l để định nghĩa 2 phương thức getAutoloaderConfig() v
getConfig().

File module.php ny được xem như một module manager. Nó sẽ giúp hệ thống t động gọi
2 phương thức trên.
Ở Phương thức getAutoloaderConfig() chúng ta cấu hình cho cơ chế autoloading hiểu hệ
thống khi load d trên cơ chế NameSpace của PHP 5.3.
Phương thức getconfig() cho phép nạp nội dung module.config.php. Đây l file chứa thông
tin cấu hình chính của module. Ví dụ như: Khai bo để hệ thống hiểu module, kết nối,…
Tạo tiếp file autoload_classmap.php vi nội dung:
<?php
return array(
Sinh viên thc tp:Nguyn Hoi Nam MSSV:51130954
25

×