2011-02-04 7 views
1

私は、PHP MVCフレームワークであるCodeIgniterを使用してウェブサイトを構築する初期段階にあります。私のモデルは、これまでのところ、かなりシンプルですが、私はすでにコーディングのアプローチを疑っています。モデルにお互いを使用させるのは悪い考えですか?それは確かに必要なコードの量を削減しますが、各モデルメソッド内で外部コードに強い依存関係を持ちます。これは大丈夫ですか?あるいは、他の方法とは無関係に、単に動作するところで、より「モジュール」なアプローチが必要なのでしょうか?MVCフレームワークは、モデルは 'モジュール'のような構造に似ていますか?

お時間をいただきありがとうございます。

+0

http://pdepend.org/ – Alfred

+0

のCodeIgniterを行うには私の個人的な好みにパッシブ-MVCです。元のスキームでは、モデルはデータベースインタフェースだけでなく、ビジネスロジックを表現することになっていました。コードを単純化して、[仮説パターン](http://stackoverflow.com/questions/1549857/simple-php-mvc-framework/1549970#1549970)に従わないでください。モデルが現実の世界でお互いに依存しているならば、コードもそうでなければなりません。 – mario

答えて

3

理論的には、モデルを独立したモジュールにグループ化する必要があります。そのモジュールをCodeIgniterアプリからCodeIgniterアプリに移動することができます。変更する必要はほとんどありません。

モデル同士で使用することはできます。モデルは実世界のオブジェクトを表し、実世界のオブジェクトはお互いに依存します。

+0

あなたはちょっと矛盾しています。モデルがアプリからアプリに移行できる必要がある場合、それは他のモデルの依存関係を持つべきではありません。あるモデルが別のモデルに依存していて、依存関係を必要とするモデルを移動すると、そのモデルは破損します。 – xil3

+0

@ xil3:いいえ、私が言ったことを誤解しています。私はモデルをモジュールにグループ化し、モジュールを移動することができました。 – sevenseacat

+0

ああ、私の悪い。 – xil3

1

いや、それを行うには2通りの方法があり、モデルの呼び出し(インスタンス化)新しいオブジェクトは、その自己

であるか、あなたは、コントローラのコール(インスタンス化)オブジェクトとパスを持つことができますどのようにこれまで、

ありそれはあなたのモデル

エーテル動作しますが、最初の

関連する問題