1

(CakePHP 2.3、CentOS) だから、ここに取り引きがあります: 私は自分のアプリケーションで必要ないくつかの便利なアクロバットを行うコントローラー 'SpecialController' を作成しました。その仕事をするためには、Model オブジェクトについて知る必要があります。この場合のモデルは $this->User です。SpecialController は単なる基本クラスであるため、これを知る方法がないため、beforeFilter() 内でモデルについて明示的に伝えます。

class UsersController extends SpecialController {

    function beforeFilter() {

    $this->bindModel($this->User);

    parent::beforeFilter();

    }

bindModel() 関数は参照を内部的に記録するだけなので、SpecialController は特別なことを行うことができます。$this->User について説明する必要はありません。モデルへの参照を持つプロパティはありますか? 「$this->User」と同じ値に設定される「$this->modelObj」のようなものがあると思われますが、ドキュメントには何も見つかりません。

4

2 に答える 2

3

コントローラーを基本クラスとして使用する場合、次のようなことができます。

function beforeFilter(){
    parent::beforeFilter();
    $this->bindModel($this->{$this->modelClass});
    // or 
    $this->bindModel(ClassRegistry::init($this->modelClass));
}

それがあなたが探しているものかどうかはわかりません。

于 2013-09-17T21:51:29.127 に答える