Sql için dönüşümü sağlar PHP şartname model

1 Cevap php

Ben iyi yolu özellikleri (isteğe bağlı) tarafından PHP dönüştürülmüştür verebilecek PHP bir şartname desen var ne olacağını bulmaya çalışıyorum.

Ben bazı yeni yönleri keşfetmeye yaşıyorum ve işe yarar ne kadar iyi test ediyorum. Kod ve fikirler zihnimde hala çok belirsiz.

Minimal arayüzleri bu gibi olacaktır:

interface IRepository {
    public function get(ISpecification $specification);
}

interface ISpecification {
    public function isSatisfiedBy($candidate);
}

Depo bir sql veritabanı gizler ise şartname sql dönüştürmek gerekir. Bir ekleme -> toSQL () yöntemini ad hoc görünüyor. Spesifikasyonları çevirir A sınıfı da bir seçenektir ama sonunda sql üretmek yükü bir sürü gibi görünüyor.

Fikirler takdir.

1 Cevap

POEAA (pg.324) alıntı:

Yorganın altında, Repository combines Metadata Mapping (329) with a Query Object (316) to automatically generate SQL code from the criteria. Whether the criteria know how to add themselves to a query, the Query Object (316) kriterleri nesneleri birleştirmek için nasıl bilir, ya Metadata Mapping (306) kendisi kontroller etkileşim bir uygulama ayrıntı.

criteria bu açıklamaları elbette sizin Specification pattern vardır. Ben uygulama nispeten küçük olduğunda gayet önerdiğiniz yaklaşım kriterleri nesneler üzerinde bir toSQL yöntemi kullanmak söyleyebilirim. Gibi zaten diğer yolları gidiş daha zordur, ama aynı zamanda daha fazla esneklik ve ayrılmasını sağlar, dedi. Sonunda, sadece siz karar verebilirsiniz.