Bài 2: Mô hình MVC trong Yii framework Bài 2: Mô hình MVC trongYii framework... 5 Bài 2: Mô hình MVC trongYii framework... 9 Bài 2: Mô hình MVC trongYii framework... Controller trong
Trang 1Bài 2: Mô hình MVC trong
Yii framework
Bài 2: Mô hình MVC trongYii framework
Trang 3Gi i thi u t ng quan v MVC trong
Yii framework
3
Bài 2: Mô hình MVC trongYii framework
Trang 4Mô hình MVC?
Yii s d ng mô hình MVC (Model-View-Controller)
MVC h ng t i vi c phân chia các logic c thù trong
Trang 5Mô hình MVC?
Yii gi i thi u i t ng front-controller, g i là Application:
Application thu th p d li u t request c a ng i dùng
và a t i controller phù h p x lý
5
Bài 2: Mô hình MVC trongYii framework
Trang 6WebServer s ti p nh n yêu c u ó b ng cách th c thi
"bootstrap script" index.php!
• Bootstrap script s kh i t o m t th hi n c a Application và
ch y nó
• Application có c thông tin yêu c u c a ng i dùng t m t
m t i t ng bên trong application tên là request!
• Application xác nh controller và action mà yêu c u g i t i nh
Trang 7Workflow c b n?
Di n gi i chi ti t:
• Application t o m t instant controller t ng ng ti p t c x
lý yêu c u c a ng i dùng Controller nh n bi t c yêu c u
show tham chi u t i ph ng th c tên là actionShow() trong
controller class R i nó th c thi b l c c a chính nó
(PostController) liên quan t i yêu c u trên N u th a mãn h t các yêu c u c a b l c thì action show s c th c thi
• action load m t model nào ó (ví d Post) v i id =1 t c s d
li u
• action s render ra 1 view tên nào ó (ví d show)
• view s c và show ra các thu c tính (attributes) c a Post model
• view lúc này có th th c thi thêm 1 s widget (n u c khai báo trong nó)
Trang 8Workflow c b n?
Trang 9Entry Script?
Là file u tiên nh n toàn b request c a ng i dùng File này
có th là index.php ho c b t c file nào khác:
N i dung:
L u ý: Ch y d i môi tr ng debug thì t t nhiên ch m h n,
nh ng nó s show ra cho chúng ta 1 s thông tin h u ích trong quá trình phát tri n Ch ng h n nh ch ng trình v a
th c thi nh ng câu SQL nào, m t bao lâu, l i x y ra class nào, dòng bao nhiêu
9
Bài 2: Mô hình MVC trongYii framework
Trang 10Tìm hi u Application?
Là i t ng th c thi ng c nh khi có yêu c u x lý:
Có th c kh i t o b i Entry Script
Có th truy c p thông qua Yii::app()
Ta tìm hi u Application thông qua:
Trang 12Th m c c s Application?
C n c b o m t th m c c s
Trong file htaccess, d i tên các th m c c s ta c n ghi
n i dung deny from all
Trang 13Các thành ph n c a Application?
Các ch c n ng c a các i t ng Application có th d dàng c tùy bi n b ng cách s d ng ki n trúc thành
Trang 14Các thành ph n core c a Application?
D i ây là danh sách các thành ph n core c khai báo
trong CWebApplication
Trang 16 Th c thi các yêu c u c a user nh t p h p thông tin v
yêu c u, t o controller và ch y controller
Trang 17Controller trong Yii?
Controller là m t th hi n c a l p Ccontroller ho c m t class extend t Ccontroller Nó c t o b i application khi ng i dùng th c thi yêu c u
Trang 18Controller trong Yii?
Trang 19Controller trong Yii?
Cài t Controller:
Controller c t o ra t CWebApplication khi có yêu c u
Khi m t ID c yêu c u, ng d ng s s d ng m t s qui
Trang 20Controller trong Yii?
Hành ng:
Controller nh ngh a các hành ng nh sau:
Khi controller nh n bi t c hành ng, nó s ghi è lên
ph ng th c action tronng controller:
Trang 21Controller trong Yii?
Trang 22Controller trong Yii?
Tham s trong Hành ng:
Controller xác nh hành ng b ng $_GET
•Ví d v hành ng không có tham s :
Trang 23Controller trong Yii?
Trang 24Controller trong Yii?
Tham s trong Hành ng:
Controller xác nh hành ng b ng $_GET
•Ví d v xác nh hành ng thông qua ph ng th c
Run()
Trang 25Controller trong Yii?
Trang 26Controller trong Yii?
L c các Hành ng:
M t b l c luôn là th hi n c a CFilter
Ví d :
Trang 27Controller trong Yii?
Trang 28Model trong Yii?
Trang 29View trong Yii?
Là các o n code PHP th hi n các thành ph n trong giao
di n ng i s d ng
có th hi n th c d li u trên view, ta s d ng CController::render()
Trang 30View trong Yii?
Có 3 lo i View: Layout, Widget và System view
Layout là m t view c bi t, ch a các thành ph n giao di n
Trang 31View trong Yii?
Widget là m t th hi n c a Cwidget
c s d ng nhúng các o n k ch b n c a view ph c v vi c generate các view ph c t p
Trang 32View trong Yii?
Khi s d ng ta c n g i hàm init(), run(), render()
Ví d v m t s widget
System view hi n th khi h th ng có l i ho c ghi log
Trang 33DEM O
-Generate các thành ph n trong
ng d ng web
Trang 34T ng k t bài h c
Gi i thi u t ng quan v MVC trong Yii framework
Tìm hi u các v n :
Application Controller Model
View Component Module
Các thành ph n khác
Trang 35XIN C M N!
35
Bài 2: Mô hình MVC trongYii framework