2012-02-07 5 views
0

私はDrupalのノードのようなものを管理するアプリケーションを書いています。私は、さまざまなコンテンツ管理システム/アプリケーション(Concrete5、Wordpress、カスタムZend & Yiiアプリケーションなど)でアプリケーションを使用する予定です。Doctrine2もこのプロジェクトでは「大きい」ですか?

私は非常に多くの異なる場所で使っているので、私はアプリケーションとORMをパッケージ化する必要があります(つまり、私はConrete5やYiiのORMなどは使用できません)。私はDoctrine 2が大好きですが、これは私のアプリにパッケージ化するにはあまりにも大きかったと心配しています。

Doctrine 2を実行しているZendアプリケーションにこのアプリケーションを組み込むと、面倒です。同じアプリケーションでDoctrineの2つの 'インスタンス'を実行する必要はありません。これは保証された懸念ですか?

質問:このプロジェクトでDoctrine 2は大きすぎますか?もしそうなら、良い代替ORMは何でしょうか?

+0

私はいつもこれらを行う前に、私のドメインモデルを行くとチェック決定。それがあまりにも厄介であるか、複雑な関係がたくさんある場合、私は教義に固執します。あなたはどうですか? – jere

+0

あまり進んでいません。私はおそらく、PDOのデコレータを書いて、それにいくつかの機能を追加して使用するつもりです。 – orourkedd

+0

ORMを引き続き使用したい場合は、[RedBeanPHP](http://www.redbeanphp.com/manual/) – jere

答えて

2

、あなたはdefinitley私の心に来る次のような理由でORMを使用する必要があります。

1.CMSデータベースのインストールが異なっていますいくつかのMySQLを使用してください。あなた自身のアダプタを作成する必要があります。

2. CMSのネイティブデータベース抽象化レイヤを使用します。したがって、作成するすべてのCMSプラグインに対して独自のモデルを再作成する必要があります。

3.ドクトリンは多くの大きな仕事をすることができますが、ドクトリンはかなり簡単です。ドクトリンはリソースを大量に消費しません。

4.私が知る限り、複数の教義インスタンスを使用することは問題にはなりません。

5. doctrine2はPHP 5.3の最小限のインストールを必要としますが、一部の共有サーバーでは、この問題が解決され、5.2が廃止される古いバージョンのphpが存在する可能性があります。しかし、いくつかのCMSesに複数の接続が動作するようにあなたの拡張のために作られます

。(CMSのネイティブデータベースクエリ用とあなたの教義のクエリの1。)

0

ウェイ1:フレームワーク

  • とアダプタ

    • (+)を経由してのORMの異なるとの仕事はよりよい統合( - )

    • をアダプタを実装するために多くの仕事( - )柔軟性の喪失(アダプタインターフェイスによって制限されます)

    ウェイ2(私の選択):PDOをFETCH_CLASSで使用すると、十分に快適です(クラスのインスタンスにデータを取得できます)。最新のORMはPHP上で動作しますので、統合が容易でなければなりません。

    Doctrineについて2 & Yii - この組み合わせをテストしましたが、うまく動作します。あなたが他のCMSesおよび/またはフレームワークの拡張機能として、アプリケーションを使用しようとしている場合は

  • 関連する問題