Şu anda PHP Doktrini ORM kullanarak Active Record desen bağlıdır bir site var. Ben genellikle bu yaklaşımın hayranıyım - çok basittir ve basit CRUD uygulamalar için yönetmek için iyi çalışır. Bu site büyüdükçe Ama, ben daha sağlam etki alanı işlevi benim ihtiyacı da büyüyeceğini düşünüyor. Ben veri tasarımı desen başka türlü bir ORM ile birlikte iyi çalışır merak ediyordum.
Benim temel sorun şu anda Doktrin süslü bir sorgulama dili olarak en iyi iş gibi görünüyor, bu yüzden benim modeller gibi yöntemler ile doludur:
function getBySomeClassfication($classification)
{
return Doctrine_Query::create()
->select('stuff')
->from('ModelClass')
->where('something = ?', $classification)
->execute();
}
ya da ben direkt bir model sınıf erişmek istiyorsanız:
Doctrine::getTable('ModelClass')->findAll();
Bu benim etki alanı nesneleri yerine doğrudan Doktrini nesne sarmalayıcılarla çalışma sonunda gelir. Bütün bu soyutlamanın bir alt düzeyde bulunması gibi hissediyorum.
Ben sadece iyi yaklaşım ne olduğunu pek emin değilim. ORM tek tabloları sorgulama ve ilişkileri ile başa çıkmak için mükemmel bir tabaka gibi hissediyorum. Ama birden fazla model / tablolar üzerinde çalışmak etki alanı nesneleri oluştururken daha fazla esnekliğe sahip olmak istiyorum.
Ben Depo desen kullanarak kadar okumak, ama hala birkaç tereddütleri var ettik:
Ben sadece orijinal sorunu kadar kabarcıklar soyutlama anlamsız bir katman yaratmak istemiyorum.
Ben Active Record ORM kullanarak bütün mesele yeniden oluşturmak veya işe yaramaz hale istemiyorum.
Herhangi bir düşünce ve önerileriniz?