[CakePHP] Sử dụng behavior trong cakephp

Làm thế nào để 1 behavior được attach vào trong model

** behavior được attach vào trong model thông qua biến của lớp model $actsAs
class Category extends AppModel {
var $name = 'Category';
var $actsAs = array('Tree');
}
?>

** Ví dụ sau giải thích làm thế nào để model Category có thể được quản lý trong một cấu trúc dạng cây bằng cách sử dụng TreeBehavior.
Một khi một behavior được xác định, thì chúng ta có thể sử dụng các method được thêm vào trong model bởi behavoior như là method
của chính model đó

// ví dụ
$this->Category->id = 42;
// sử dụng phương thức children của behavior
$kids = $this->Category-> children();

** Ngoài ra, một số behavior có thể yêu cầu hoặc cho phép chung ta thiết lập một số thuộc tính cơ bản trước khi attach nó vào trong model,
Ví dụ bên dưới, chúng ta rename lại "left" và "right"
class Category extends AppModel {
var $name = 'Category';
var $actsAs = arry('Tree' => array('left'=>'left_node', 'right'=>'right_node'));
} ?>

** Chúng ta có thể attach một số behavior cho 1 model.
ví dụ;
class Category extends AppModel {
var $name='Category'';
var $actsAs=array('Tree' => array('left'=>'left_node','right'=>'right_node'), 'Translate');
} ?>

** Khi chúng ta muốn tháo behavior ra khỏi model thì dùng phương thức detach
ví dụ:
$this->Category->Behaviors->detach('Translate');

** Nếu chúng ta chỉ muốn disable:
ví dụ:
$this->Category->Behaviors->disable('Translate');

** Chúng ta có thể attach behavior lúc runtime
$this->Category->Behaviors->attach('Translate');

================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk or kattyflea.co.cc
blog: mathhoang.tk or mathhoang.blogspot.com
================================================

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...