動作就是指被定義為一個以action單詞作為前綴命名的方法。而更高級的方式是定義一個動作類並讓控制器在收到請求時將其實例化。這使得動作可以被復用,提高了可復用度。
1、定義一個動作類,基本格式如下:
class UpdateAction extends CAction{ public function run(){ //...邏輯代碼... } }
2、使用動作類:為了讓控制器注意到這個動作,我們要用如下方式覆蓋控制器類的actions()方法:
class PostController extends CController{ public function actions(){ return array( //使用"應用程序文件夾/controllers/post/UpdateAction.php" 文件中的類來處理edit動作 'edit'=>'application.controllers.post.UpdateAction', ); } }
如上所示,我們使用了路徑別名 application.controllers.post.UpdateAction 指定動作類文件為 protected/controllers/post/UpdateAction.php
通過編寫基於類的動作,我們可以將應用組織為模塊的風格。