CakePHP多个控制器使用相同的模型
在CakePHP 2.5中,我有以下控制器:CakePHP多个控制器使用相同的模型,php,cakephp,cakephp-2.5,Php,Cakephp,Cakephp 2.5,在CakePHP 2.5中,我有以下控制器: - CommonsController extends AppController { ... } - MyController extends CommonsController { ... } - GoodController extends CommonsController { ... } 我有以下型号: - Work1 extends AppModel { ... } - Work2 extends A
- CommonsController extends AppController { ... }
- MyController extends CommonsController { ... }
- GoodController extends CommonsController { ... }
我有以下型号:
- Work1 extends AppModel { ... }
- Work2 extends AppModel { ... }
- Work3 extends AppModel { ... }
在我的CommonController中,我有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中,对于常见的控制器函数,我使用组件。控制器中是否有使用通用模型的结构?在控制器中使用通用模型的结构是什么意思?要在控制器中使用模型,请使用$uses变量。FWIW:我认为你的控制器不应该使用那么多互不相关的模型。一旦可以使用一个模型,就可以使用与第一个模型相关的所有其他模型。多个控制器可以使用相同的组件代码。我搜索在不同的控制器中使用多个模型代码。要在不同的控制器中使用多个模型代码::为了运行任何模型的代码,也就是说,要从控制器中执行特定模型的方法,只需将该模型的名称放入$uses变量中即可。例如,在您的控制器中,可以有public$uses=array'Recipe'、'User';它允许您使用配方和用户模型的方法。要执行它们,请使用$this->Recipe->recipeMethod