22

PHP/MySQL 用のエンティティ属性値フレームワークはありますか? 私は自分で書き始めていますが、すでに終わっているように感じます。助言がありますか?

4

3 に答える 3

4

Magentoは EAV スタイルのアーキテクチャを利用していると思います。一見の価値があるかもしれません。Magento は、Zend Framework に基づく e コマース プラットフォームです。

于 2008-10-22T19:49:30.340 に答える
1

私は何も知りません。

そうは言っても、eZ Publish ECMS (FOSS) は、EAV スタイルの高度に正規化されたデータ モデルを使用します。構造化されたコンテンツ ( 「コンテンツ クラス」 )のタイプの定義と、コンテンツの実際のインスタンス (記事、ユーザー アカウント、コメント、製品など、あらゆるもの) の両方が定義され、単一のデータベース テーブルに格納されます。

このように、データ型の任意の組み合わせを Web インターフェイスを介して動的に組み合わせて、新しいコンテンツ タイプを作成できます (「シンプルな記事」は、見出しの「テキスト行」、公開日の「日時」、本文の「XML フィールド」で構成される場合があります)。 )。EAV では、「simplearticle」はエンティティ、「headline」は属性名、「Textline」はその値であり、「Textline」データ型を構成する長さと検証規則は EAV コンテキストのメタデータです。

どの EAV アーキテクチャでも予想されるように、この柔軟性はパフォーマンスの低下という代償を伴います。これは、ピボットされた結果セットの列ごとに 1 つずつ、複数の自己結合がルックアップで必要になるためです。

残念ながら、このスタックは eZ の関連するeZ コンポーネントライブラリ (データベースとデータ アクセス オブジェクト/ORM コンポーネントを含みますが、標準的なリレーショナルの種類のもの) には含まれていません。必要なクラス ライブラリは自分で作成します。

于 2008-10-31T10:43:32.300 に答える
1

現在、PHP / MySQL には EAV フレームワークはないようです。ただし、次の 2 つのリンクが役立つ可能性があります。

http://www.planetmysql.org/entry.php?id=14025

http://www.iwilldomybest.com/2008/08/php-mysql-tip-3/

于 2008-10-31T04:48:48.743 に答える