0

管理者モデルと公開モデルの両方で使用されるコードがいくつかあります。現在、一部のメソッドはまったく同じですが、adminセクションとpublicセクションの別々のモデルに保存されています。commonというモジュールを作成し、adminモデルとpublicモデルをcommonモデルから拡張して、共有コードをそこに保存したいと思います。私はそれを設定するための構造に混乱しています。私が持っていると仮定して:

Model_Post extends Model
Model_Admin_Post extends Model

構造は次のようになります。

modules/common/classes/model/common/post.php
Model_Post extends Model_Common_Post

また

modules/common/classes/common/model/post.php
Model_Post extends Common_Model_Post

また

modules/common/classes/model/post/common.php
Model_Post extends Model_Post_Common

私はいくつかのモジュールを見てみましたが、それは変化しているように見えますが、それは本当にあなたがそれをどのように構築したいと思うかによるのでしょうか?公式モジュールであるauthモジュールが最初の例に従っているように見えることに気づきましたが、よくわかりません。モジュール名を最初または最後に追加するだけなので、2番目または3番目の方法を使用する方が簡単なようですが。長期的には、一貫性を保つために「正しい」方法に従うほうがよいと思います。仮にあったとしても、これらのどれが正しいでしょうか?

4

1 に答える 1

0
// modules/common/classes/model/common/post.php
Model_Common_Post extends Model {}

// ADMIN/application/classes/model/admin/post.php
Model_Admin_Post extends Model_Common_Post {}

// PUBLIC/application/classes/model/post.php
Model_Post extends Model_Common_Post {}

したがって、公開モデルと管理モデルはそれぞれのアプリケーション ディレクトリに配置し、共通ファイル (common_post モデル) は共通モジュールに配置する必要があります。

于 2010-12-22T08:46:24.007 に答える