CakePHP多个控制器使用相同的模型

时间:2014-08-18 11:28:34

标签: php cakephp cakephp-2.5

在CakePHP 2.5中,我有这些控制器:

 - CommonsController extends AppController { ... }   
 - MyController extends CommonsController { ... }    
 - GoodController extends CommonsController { ... }   

我有这个型号:

 - Work1 extends AppModel  { ... }  
 - Work2 extends AppModel  { ... }  
 - Work3 extends AppModel  { ... }  

在我的CommonsController中,我有45种使用Work1,Work2,Work3模型的方法。

  - CommonsController::method1() { // using Work1 model }  
  - CommonsController::method2() { // using Work1 model }  
  ....
  - CommonsController::method16() { // using Work2 model }  
  - CommonsController::method17() { // using Work2 model }  
  ....
  - CommonsController::method44() { // using Work3 model }  
  - CommonsController::method45() { // using Work3 model }  

使用这种结构内部控制器我可以调用这样的模型:

   // inside CommonsController
   $this->method18();
   $this->method26();

   // inside MyController
   $this->method18();
   $this->method42();

   // inside GoodController
   $this->method18();
   $this->method36();

在CakePHP中,对于常见的控制器功能,我使用了Components。是否有在控制器中使用通用模型的结构?

0 个答案:

没有答案