Ben iki farklı kaynaklardan sonuçlar almak ve bunları birbirine birleştirmek için kullanıyorum bir arama sınıf var. Arama sınıf ana ve ara uzatmak iki çocuk A ve B vardır.
Ara sınıf olarak, ben onların sonuçlarını almak için iki alt nesneleri başlatır (getirme) adında bir yöntemi var. Bunun gibi bir şey görünüyor:
public function fetch(){
$a = new A($this);
$a_results = $a->fetch();
$b = new B($this);
$b_results = $b->fetch();
// code to combine the results here
}
A sınıfı ve B yapıcısı gibi görünür hem de:
class A extends Search
{
public function __construct(Search $search){
parent::__construct($search->category, $search->offset, $search->keywords...);
}
Elimden bir çocuğa bir üst nesnenin geçen ve daha sonra aynı veri ile başka bir ana nesnesi oluştururken kulüpler yanlış bir şey yapıyorum gibi hissediyor. Bu kurmak için daha iyi bir yolu var mı?
Benim uygulamada bazı parçaları oldukça üst arama sınıfı aracılığıyla yerine, doğrudan sınıf A ve B erişmek gerekir, çünkü bu şekilde belirledik.