Yerine deyim sonucu seçme nesne dönen ne düşünüyorsunuz?

1 Cevap php

I would have liked to know if it was a good idea to return a select object from a method like '$selectObj = getSomethingByName($name)' to then pass it to another method like 'getResult($selectObj)' which will do the trick. The idea is to be able to pass the select object to any usefull function like 'setLimit(10)' or addCriteria('blabla') depending on my model...

Ama bunu yapmak için iyi bir fikir mi? kullanıcı nesne kendisini değiştirmek mümkün olacak, ve ben bu istiyorum olmamalı çünkü 'güvensiz' olabilir ..

Ben daha önce yukarıdaki gibi basit yöntemi yapmak için kullanılan ancak bir satır olarak sonucu dönen ... ama farklı masalarda bağlı karmaşık bir bildirimde olduğunda bazen ağrılı var ..

1 Cevap

(Farklı masalarda bağlı karmaşık ifadeleri) karşı karşıya sorunun genel olarak ORM çerçeveler ile eski ve yaygın bir sorundur. SQL yapabileceğiniz şeyler çok bir ORM çok iyi yapmaz ki, vardır. Kaçınılmaz olarak, size Kontrolör veya View karmaşık kod birçok yazarak karmaşıklığı farklı makyaj var.

Bunun yerine, bu nedenle Kontrolörleri ve Gösterim tüm muhtelif detayları hakkında bilmek zorunda değilsiniz, bir Domain Model desen kullanmak ve tek bir yerde karmaşık çoklu masa veritabanı mantığı çevreliyor. Onlar sadece senin Alan Modeli sınıfının arayüzü hakkında bilmek ve bu sınıfın veritabanından bilgi almak için bilmek tek sorumluluğu vardır.

Unutmayın: Bir Model "HAS-A" tablosu (ya da birden fazla tablo) - yerine Modeli "IS-A" tablosu.