Ben basit bir MVC iskeletini oluşturmak için çalışıyorum ve bağımlılıkları ile şaşırıp.
Bu şimdi ne var:
$config = new Config();
$database = new Database($config);
$uri = new Uri('article/5');
$request = new Request($uri);
$response = new Response;
$router = new Router;
$dispatcher = new Dispatcher($request, $response, $router);
$dispatcher->dispatch(); // Routing, instantiate controller, execute action, send response
Soru: nasıl bir nesne, herhangi bir bağımlılık erişebilirsiniz?
Bazı örnekler:
- Kontrolör çıkış biçimlendirme seçeneklerini almak için Yapılandır gerekebilir.
- Mapper sorguları gerçekleştirmek için Veritabanı gerekebilir.
- Herhangi Controller / Yardımcı ihtiyaçları Log erişin.
- Yardımcı bağımlılıkları herhangi bir sayıda (: Router ihtiyacı Uri_Helper örn.) gerekebilir.
Aklıma tek olasılık Registry kullanmak için, ama bu (gerçekten ihtiyacınız ne sormak) Demeter Kanunu ihlal.