Bài 8: Các v n
v Web Service, Theme, Skin
Yii framework
Bài 8: Các v n đ v web service, theme, skin
M c tiêu bài h c
Gi i thi u web service trong Yii framework
Gi i thi u theme
Gi i thi u skin
Bài 8: Các v n đ v web service, theme, skin2
T ng quan v Web Service
Yii framework
Bài 8: Các v n đ v web service, theme, skin3
Web service là gì?
D ch v Web là m t h th ng ph n m m
c thi t k
h tr t ng tác các máy qua m ng.
Trong b i c nh các ng d ng web, nó th ng dùng
ch
m t t p các API có th
c truy c p qua Internet và th c
hi n trên m t h th ng l u tr các d ch v yêu c u t xa.
Yii cung c p 2 l p
cài t web service:
•CWebService và CWebServiceAction
Bài 8: Các v n đ v web service, theme, skin4
Web service là gì?
nh ngh a Service Provider: Cung c p các ph
có th tri u g i t xa
Ví d :
ng th c
Chúng ta khai báo ph ng th c getPrice là m t d ch v
Web d ng API b ng cách ánh d u nó vào th soap
Bài 8: Các v n đ v web service, theme, skin5
Web service là gì?
Khai báo Web Service Action
Ví d :
Bài 8: Các v n đ v web service, theme, skin6
Web service là gì?
Khai báo Web Service Action.
Ví d trên là cách chúng ta t o m t web service.
Có th truy c p web service theo
ng link sau:
•http://hostname/path/to/index.php?r=stock/quote
Chúng ta có th th y nhi u n i dung
c nh ngh a trong
WSDL.
Bài 8: Các v n đ v web service, theme, skin7
Web service là gì?
S d ng web service: Ta dùng hàm SoapClient
Ví d :
Ki u d li u web service:
Bài 8: Các v n đ v web service, theme, skin8
Web service là gì?
Ví d :
nh ngh a API getPost tr v m t m ng
it
ng
Bài 8: Các v n đ v web service, theme, skin9
Web service là gì?
B n
các l p:
•
nh n
c thông s c a khách hàng, m t ng d ng
c n ph i khai báo các b n
t các WSDL.
•
s d ng b n
l p ta c n c u hình thành ph n
CWebServiceAction.
•Ví d
10
Bài 8: Các v n đ v web service, theme, skin
T ng quan v Theme
Yii framework
11
Bài 8: Các v n đ v web service, theme, skin
Theme là gì?
Theme là m t cách tùy bi n các khung nhìn c a các trang
trong m t ng d ng Web.
B ng cách áp d ng m t ch
m i, s xu t hi n t ng
th c a m t ng d ng web có th
c thay i ngay l p
t c và nhanh chóng nh s d ng Theme.
•Trong Yii, Theme
c l u tr trong WebRoot/themes
12
Bài 8: Các v n đ v web service, theme, skin
S d ng Theme?
thi t l p Theme ta c n c u hình file main.php.
Ta s d ng hàm Yii::app() ->theme,
kích ho t m t ch
.
Ví d v t o Theme:
•T t c các file l u trong th m c view
•Layout view l u trong th m c views/layouts
•Các file system view l u trong th m c views/system
•N u b n mu n thay
i các view c a PostController v i
Theme classic thì chúng ta t o file create.php theo
ng
d n:
•WebRoot/themes/classic/views/post/create.php.
13
Bài 8: Các v n đ v web service, theme, skin
S d ng Theme?
C u trúc th m c c a Theme
14
Bài 8: Các v n đ v web service, theme, skin
S d ng Theme?
c u hình s d ng Theme basic, ta c u hình nh sau:
Trong tr
view m c
ng h p không có theme basic, nó s s d ng
nh
15
Bài 8: Các v n đ v web service, theme, skin
S d ng Theme Widget?
View
c s d ng b i Widget và có th dùng Theme
hi n th view d ng widget.
Chúng ta g i CWidget::render()
Theme cho widget
c l u th m c app\widgets\
Ví d ta có widget tên là Foo.
•
c l u th m c: \app\widgets\Foo
•
t o theme cho widget, ta t o file xyz.php
th m c:
themes/basic/views/Foo/xyz.php
16
Bài 8: Các v n đ v web service, theme, skin
Thay
i Widget?
Khi s d ng widget c a nhà cung c p th 3, chúng ta c n
thay i thông tin cho phù h p v i giao di n.
Ví d n u ta mu n thay
i giá tr c a maxButtonCount
t 10 xu ng 5, ta có th làm nh sau:
17
Bài 8: Các v n đ v web service, theme, skin
Thay
i Widget?
N u mu n s d ng widget m c
nh sau:
nh, ta có th c u hình
18
Bài 8: Các v n đ v web service, theme, skin
T ng quan v Skin
Yii framework
19
Bài 8: Các v n đ v web service, theme, skin
Skin là gì?
Khi s d ng Theme, chúng ta có th nhanh chóng thay
i
các khung nhìn.
Chúng ta có th s d ng Skin
tùy ch nh widget
cs
d ng trong view.
Skin là m t m ng các giá tr có th s d ng
kh i t o các
thu c tính c a widget.
M t Skin thu c v m t l p widget và m t l p widget có th
ch a nhi u Skin.
20
Bài 8: Các v n đ v web service, theme, skin
Skin là gì?
s d ng tính n ng c a Skin, u tiên chúng ta c n thay i
c u hình ng d ng b ng cách c u hình thu c tính sau có giá
tr b ng True:
• CWidgetFactory::enableSkin
21
Bài 8: Các v n đ v web service, theme, skin
Skin là gì?
Skin
c l u trong th m c sau:
• protected/views/skins
Ví d n u chúng ta mu n t o Skin có tên là CLinkPager,
ta t o file CLinkPager.php trong th m c:
• protected/views/skins
22
Bài 8: Các v n đ v web service, theme, skin
Skin là gì?
Trong ví d trên ta t o 2 Skin cho widget CLinkPager ó là
default và classic
M c nh widget s dùng skin default, tuy nhiên n u chúng
ta mu n dùng skin classic thì làm nh sau:
23
Bài 8: Các v n đ v web service, theme, skin
Skin là gì?
Khi chúng ta t o widget v i m t t p h p các thu c tính
kh i t o, chúng s
c u tiên áp d ng Skin.
s d ng widget chúng ta dùng hàm sau:
$this->widget();
Ví d
o n code sau s t o m t widget v i các giá tr
kh i t o là:
24
Bài 8: Các v n đ v web service, theme, skin
Skin là gì?
Chú ý r ng tính n ng c a Skin không yêu c u s d ng
Theme
Tuy nhiên khi m t Theme
c kích ho t, Yii s tìm ki m
Skin trong th m c:
•WebRoot/themes/classic/views/skins
N u m t widget s d ng Skin không t n t i thì Yii s t o
m t widget
s d ng mà không a ra thông báo l i.
25
Bài 8: Các v n đ v web service, theme, skin