Tải bản đầy đủ (.pdf) (32 trang)

Bài 6: Tiện ích mở rộng (Extension) trong Yii 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 (420.1 KB, 32 trang )

Bài 6: Ti n ích m r ng (Extension) trong

Yii framework

Bài 6: Extension trong Yii framework


M c tiêu bài h c





T
S
T
S

ng quan v Extension trong Yii framework
d ng các Extension
o các Extension
d ng th vi n c a nhà cung c p th 3

Bài 6: Extension trong Yii framework 2


T ng quan v Extension

Yii framework

Bài 6: Extension trong Yii framework 3




Extension là gì?
 Extension là m t ti n ích m r ng
 Extension (m r ng) là m t ho t
ng ph bi n trong
quá trình phát tri n ng d ng.
 Ví d , khi b n vi t m t Controller m i, b n m r ng
b ng cách k th a l p CController c a nó;
 Khi b n vi t m t ti n ích m i, b n m r ng CWidget
ho c m t l p widget hi n có.
 N u mã m r ng
c thi t k
tái s d ng b i các
nhà phát tri n th ba, chúng ta g i nó là ph n m r ng
(Extension).

Bài 6: Extension trong Yii framework 4


Extension là gì?
Phân lo i Extension:
 application component
 behavior
 widget
 controller
 action
 filter
 console command
 Validator

 module

Bài 6: Extension trong Yii framework 5


S d ng các Extension

Yii framework

Bài 6: Extension trong Yii framework 6


S d ng Extension?
Chúng ta h c cách s d ng các lo i Extension sau:
 Zii Extensions
 Application Component
 Behavior
 Widget
 Action
 Filter
 Controller
 Validator
 Console Command
 Module
 Generic Component
Bài 6: Extension trong Yii framework 7


S d ng Extension?
s d ng Extension chúng ta tuân theo 3 b c:

T i Extension t kho l u tr m r ng c a Yii.
Gi i nén ph n m r ng trong th m c Extension/ xyz c a
th m c ng d ng, xyz chính là tên c a ph n m r ng.
Import, c u hình và s d ng ph n m r ng.

Bài 6: Extension trong Yii framework 8


S d ng Zii Extension?
s d ng Zii extension, ta ph i tham chi u theo
d n sau: zii.path.to.ClassName
Ví d v vi c s d ng CGridView

ng

Bài 6: Extension trong Yii framework 9


S d ng thành ph n ng d ng?
s d ng thành ph n ng d ng, u tiên chúng ta c n
thay i c u hình và thêm các th c th m i:

truy c p vào thành ph n, chúng ta s
th c theo cách sau: Yii::app()->xyz

d ng ph

ng

Bài 6: Extension trong Yii framework10



S d ng Behavior?
Hành vi có th
c s d ng trong t t c các thành
ph n.
S d ng nó bao g m hai b c:
•B c u tiên, m t hành vi
c g n vào m t m c tiêu
thành ph n.
•B c th hai, m t ph ng th c
c g i là hành vi
thông qua các m c tiêu thành ph n
S d ng l nh:
•$component->attachBehavior($name,$behavior);
Ví d :

Bài 6: Extension trong Yii framework11


S d ng Behavior?
Ví d ,
ính kèm hành vi vào m t thành ph n ng
d ng, chúng ta có th s d ng c u hình ng d ng sau
ây:

Bài 6: Extension trong Yii framework12


S d ng Widget?

Widget ch y u
c s d ng trong views.
M t XyzClass là ph n m r ng c a xyz, chúng ta có th
s d ng nó trong m t view nh sau:

Bài 6: Extension trong Yii framework13


S d ng Action?
Action
c s d ng trong controller
c u c a ng i s d ng.
Ví d :

ph n h i yêu

Bài 6: Extension trong Yii framework14


S d ng Filter?
B l c
c s d ng trong controller
S d ng b ng cách ghi è các ph ng th c
• CController::filters

Bài 6: Extension trong Yii framework15


S d ng Controller?
Controller cung c p các hành

ng có th
c yêu c u
t ng i s d ng

s d ng controller extension, ta c n c u hình:
•CWebApplication::controllerMap

Bài 6: Extension trong Yii framework16


S d ng Validator?
Validator
c s d ng trong model, nó
t CFormModel ho c CActiveRecord

c m r ng

Bài 6: Extension trong Yii framework17


T o các Extension

Yii framework

Bài 6: Extension trong Yii framework18


T o các extension?
Chúng ta có th t o các lo i extension sau:


Bài 6: Extension trong Yii framework19


T o thành ph n ng d ng?
M t thành ph n ng d ng có th
c cài t theo các
cách s d ng:
•IApplicationComponent
•CApplicationComponent
M c nh, m t thành ph n ng d ng
c t o ra và kh i
t o ch khi nó
c truy c p l n u tiên trong quá trình
gi i quy t yêu c u.
N u m t thành ph n ng d ng c n ph i t o ra ngay sau
khi các th hi n c a ng d ng
c t o ra, nó s yêu c u
ng i dùng li t kê ID trong CApplication :: preload.

Bài 6: Extension trong Yii framework20


T o Behavior?
t o Behavior, chúng ta ph i th c thi giao di n
• Ibehavior
Khi phát tri n Behavior cho CModel và CActiveRecord, ta
có th k th a t :
• CModelBehavior và CActiveRecordBehavior




Bài 6: Extension trong Yii framework21


T o Widget?
M t widget s
c k th a t Cwidget
Ví d : N u mu n s d ng CSS cho CTabView, ta có th
c u hình CTabView::cssFile

Bài 6: Extension trong Yii framework22


T o Action?
M t action
c k th a t l p CAction
Ph ng th c main c n th c thi hành ng sau:
•IAction::run.

Bài 6: Extension trong Yii framework23


T o Filter?
M t filter
c k th a t CFilter
Ph ng th c main c n cài t
• CFilter::preFilter và CFilter::postFilter

Bài 6: Extension trong Yii framework24



T o Controller?
M t controller s k th a t CExtController thay vì
Ccontroller.
Lý do chính là vì Ccontroller t trong
• application.views.ControllerID
Trong khi ó, CExtController có th m c view là m t th
m c con c a th m c ch a các t p tin l p controller.
Vì v y, nó d dàng h n trong vi c phân ph i l i các
controller t các t p tin view c a mình ang cùng v trí
v i các t p tin l p controller.

Bài 6: Extension trong Yii framework25


×