2010-12-07 10 views
3

私はCodeigniterを初めて使用しています。私は新しいプロジェクトでこのフレームワークを使用することを考えています。 私はこれらの2つの拡張が必要になります。あまりにも深く掘り下げる前に、すでに誰かが経験を積んでいるのだろうかと思っています。一緒に使用するときに互換性の問題があるかどうかについての洞察があります。Codeigniter HMVCとdatamapperの互換性

モジュラー拡張機能 - HMVC
http://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home
DataMapperのORM
http://datamapper.exitecms.org/

私は、彼らが実際には非常に人気のあるものなので、一緒にこれらの2つの拡張を使用しようとしている多くの人があると信じています。だから、多くの人がこのスレッドから恩恵を受けるつもりです。

多くの皆さんありがとうございます。

答えて

1

最初に警告:私はHMVC拡張機能を使用しましたが、Datamapper ORMは使用していません。

私が見ている限り、2つの拡張機能には別々の目標があります。原則として私は紛争を見ることができません。

HMVC拡張は、ビューが複数のサブビューで構成される場合に便利です。これにより、複数のコントローラアクションの出力からビューを構築できるように、アプリケーションをモジュール化することができます。

Datamapper ORMを使用すると、データベースのデータをアプリケーションのPHPオブジェクトに直接マッピングできます。これは、データベースから行を引き出し、アプリケーション内のオブジェクトを水和するためにSQLクエリを作成することを避けてくれます。モデルをロードするテーブルと、アプリケーション内の他のモデルとの関係を定義します。 Datamapperは、舞台裏でCRUD操作を実行するためのクエリを生成します。

HMVCは、アプリケーションをどのように構造化するかに関係しています。 Datamapper ORMは、モデルの構築方法に関係しています。私は、DatamapperがHMVCを使用してあなたを止める方法、またはその逆を見ていません。

+0

返信いただきありがとうございます。なぜなら、私がこのWebページを見つけたからです:http://codeigniter.com/wiki/HMVC_for_DMZ_Modular_Separation/これは誰かが書いたもう一つの拡張であるようです。 CodeigniterでHMVCをやっているのですが、datamapperにはいくつかの問題があります(以前のバージョンですが) – bobo

+0

ああ - あなたが何を意味するのか分かります。モジュール内でモデルをオートロードすると、モジュールのmodelsディレクトリが検索されません。 HMVCを使用しているときは、常にアプリケーションレベルでモデルを定義してから、すべてのモジュールでモデルを共有しました。モデルをアプリケーションレベルまたはモジュールレベル(またはその両方)で定義する予定ですか? –

+0

私は知っています - モジュールレベルではなくアプリケーションレベルでモデルを定義することによって、モジュールは他のアプリケーションに移植できないことを意味します。しかし、モジュールの移植性が実用的なものであることは決してありませんでした。 HMVCを使用してビューを複数のサブビューに分解し、それぞれ独自のコントローラアクションを使用しました。 –

1

Doctrine ORMもご覧ください。これは、私が過去1年ほどCodeIgniterプロジェクトで使ってきた非常に強力なORMフレームワークであり、互換性の問題などなく、本当にうまく動作します。

Tutorial for installing Doctrine with CodeIgniter.

+0

お返事ありがとうございました。以前にプロジェクトで互換性の問題なしにModular Extensions - HMVC with Doctrine ORMを使用したことがありますか? – bobo

+0

私は自分のプロジェクトでHMVCをDoctrineと一緒に使っていません。 – Shivaas