Bir Varlık PHP / MySQL için orada Değer (EAV) çerçeve Özellik var mı?

4 Cevap php

PHP / MySQL için orada bir varlık Özellik Değer framework var mı? Ben kendi yazmaya başlıyorum, ama onun zaten yapılmış gibi hissediyorum. Herhangi bir öneriniz?

4 Cevap

I Magento bir EAV tarzı mimari kullanımı, orada bir göz olması değer olabilir yapar düşünüyorum. Magento Zend Framework dayalı bir e-ticaret platformudur.

Şu anda PHP / MySQL bir EAV Çerçeve orada görünmüyor; Ancak, bazı yardım olabilir bu iki bağlantıları buldunuz:

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

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

Ben herhangi bilmiyorum.

Bunu dedi, eZ Publish ECMS (FOSS olan) bir EAV-tarzı, ağır normalleştirilmiş veri modeli kullanır. Yapılandırılmış içerik türleri ("content classes") ve içerik gerçek örneğini iki tanım (makaleler, kullanıcı hesapları, yorum, ürünler, gerçekten bir şey) tanımlanır ve tek bir veritabanı tablolarında depolanır.

Bu şekilde, veritipinin keyfi kombinasyonları dinamik yeni bir içerik türü (bir "simplearticle" gövde metni için tarih ve "XML alan" yayımlamak için başlık, "Tarih saat" için bir "TextLine" oluşabilir yapmak için web arayüzü üzerinden kombine edilebilir .) EAV, "simplearticle" varlıktır, "başlık" bir özellik ismi ve "TEXTLINE" değeri, "TEXTLINE" veri türü içeren uzunluk ve geçerlilik kuralları EAV bağlamında meta iken.

Herhangi EAV mimarisi ile beklendiği gibi herhangi bir arama mille sonuç kümesindeki her bir sütun için birden kendini katılır, bir gerektirdiğinden, bu esneklik, düşük maliyet performansı geliyor.

Ne yazık ki, bu yığını bütün ile uğraşan ya da demek olur kullanarak, böylece ez en ilgili eZ Components kütüphane içine yapmak (veritabanı ve veri erişim nesnesi / ORM bileşenlere sahip olan, ancak standart ilişkisel çeşitli) değil EZ enchilada Yayınla veya kendiniz gerekli sınıf kitaplıkları dışarı sökük.

Ben her zaman kendi yazdım. Ama sonra ben zaten yazdığım bir nesne soyutlama katmanı üstünde her zaman oldu, bu yüzden mevcut kodu bir sürü kaldıraç olabilir.

Ben her zaman kendi soyutlama katmanları yazmak için tercih ettik bu yüzden muhtemelen etkileyecektir yani sen, ben, PEAR kod kalitesi ile etkilendim olmamıştım.