2

私は現在CakePHPを学んでいます。私はCakePHP2.2.3を使用しています。ユーザー管理プラグインを正常に「インストール」しました。このプラグインにはモデルクラス「User」があり、テーブル「users」を使用します。ここで、このユーザーモデルを拡張して、たとえば投稿など、自分のモデルをモデルに関連付けたいと思います。

私は次のコードでこれを達成することができました:

App::import('Model', 'Usermgmt.User');

class MyUser extends User {
    var $hasMany = array('Post');
    var $useTable = 'users';
}

これは機能します。

ただし、Modelクラスを「MyUser」のように呼び出さなければならないという事実は好きではありません。それはすべてを非常に醜くし、おそらく-理論的には-クラス名「MyUser」を使用する別のプラグインをインストールしたいと思うことがあります。どういうわけか、「クリーンな」クラス名を使用して、将来起こりうる名前の衝突を防ぐことは可能ですか。

4

1 に答える 1

2

いいえ、CakePHPはまだ名前空間をサポートしていないため、それは不可能です。ロードマップによると、名前空間のサポートはCakePHP3で計画されています。

于 2012-10-11T07:56:10.630 に答える