(CakePHP 2.3, CentOS) 所以,这是交易:我有一个我写的控制器"SpecialController",它可以在我的应用程序中做一些方便的杂技。要完成它的工作,它需要了解模型对象。本例中的模型是$this>用户。SpecialController 无法知道这一点,因为它只是一个基类,所以我在 beforeFilter() 中明确地告诉它模型:
class UsersController extends SpecialController {
function beforeFilter() {
$this->bindModel($this->User);
parent::beforeFilter();
}
bindModel() 函数只是在内部记录一个引用,以便我的 SpecialController 可以做特殊的事情。我想摆脱对$this>用户的看法。是否有引用模型的属性?我怀疑有类似"$this->modelObj"的东西被设置为与"$this->User"相同的值,但我在文档中找不到任何内容。
如果使用控制器作为基类,则可以执行以下操作:
function beforeFilter(){
parent::beforeFilter();
$this->bindModel($this->{$this->modelClass});
// or
$this->bindModel(ClassRegistry::init($this->modelClass));
}
不确定这是否是您要找的。
在
蛋糕书中看到这个:http://book.cakephp.org/2.0/en/controllers.html#Controller::$uses