Kısaca ben yazmak üzereyim yeni bir PHP uygulaması için Bağımlılık Enjeksiyon tekniği için gitmeye karar verdi.
Ancak, ben yeterince anlamak tamamen emin değilim. Benim sorunum farklı sınıfların bir çok uzatmak gerekir ise AnaSınıf, çeşitli öğeleri bir bağımlılık vardır. Örneğin:
namespace system;
class baseClass
{
protected $logger;
protected $filter;
protected $database;
protected $session;
public function __construct(LoggerInterface $logger, filterInterface $filter, databaseInterface $database, sessionInterface $session)
{
$this->logger = $logger;
$this->filter = $filter;
$this->database = $database;
$this->session = $session;
}
}
En sınıflar işlerini yapmak için logger, filtre vb ihtiyacınız olacaktır: örneğin filtre sınıf I tüm proje boyunca ihtiyacınız olacak bir şeydir, hangi doğrulama / kaçan işler.
I tahmin sorunu (neredeyse) tüm nesnelerin i kurucu ile başa çıkmak için olsun bu AnaSınıf, ben (tabii yukarıda açıklanan öğelere ihtiyaç değil gibi basit değil ama) bile oldukça basit bir sınıf örneğini gereken her şey uzatmak zaman olduğunu parametrelerin bir çok sürebilir.
Örneğin, sınıf 'araba' bir nesne oluştururken, bu benim için Tamam olurdu:
$car = new Car($color,$amountOfWheels);
ama bu bana oldukça dağınık görünüyor:
$car = new Car($logger, $filter, $database, $session, $color, $amountOfWheels);
I am looking for a solution to this problem, while not violating the DI paradigm of course. Maybe some sort of factory pattern would help, but creating a factory class for every little object seems a bit overkill to me..?