2011-01-04 5 views
3

Zend FrameworkでEAVデザインパターンを実装するための優れた事前構築方法があるかどうか疑問に思っていましたか?Zend Framework EAV実装

自分の実装を作成するのか、すでに作成されている実装を使用するのかを決定しようとしています。

答えて

2

MongoDBのドキュメントMapper http://www.doctrine-project.org/

Zend Frameworkの2.0で使用Doctrineは作曲と教義のために自動インストールしているので、それはZendの人々はまた別にオプションとしてこれを提供することビルトインのZend_Db。

MongoDBやCouchDBのようなドキュメント指向のNoSQLデータベースシステムでEAVを使用することは、MySqlのような従来のリレーショナルデータベースを実装するよりはるかに優れています(Magentoが行ったこと)。 NoSQLデータベースはSparse Matrixタイプのデータを実装する方が優れています。

1

Digitalus CMSはEAVパターンを使用し、MySQLに基づいています。 MongoやCouchがより適切かもしれませんが、何もインストールする必要がないのでMySQLはしばしばより簡単な選択です。私はSimpleDBを使ってみましたが、ローカルのMySQLバージョンは4倍高速です。 SQLiteもうまく動作します。

このアプローチには多くの反対があり、その主張は主に確立されています。データを照会できるようにする必要があるときは、標準的なリレーショナル・アプローチを使用しますが、Webページのコンテンツのような非常にゆるやかに構造化されたデータで作業する場合はEAVが輝きます。

Digitalusは、すべてのEAVロジックを処理する基本CMSアイテムモデルがあるアプローチを使用します。このモデルはまた、ライトスルーキャッシュを処理するため、システムは最終的にフラットファイルシステムほど高速にコンテンツを処理します。

すべての純粋主義者はおそらく技術的には正しいでしょうが、速くて簡単なものが私のツールボックスにあります。