MVC bağımlılık enjeksiyon

0 Cevap php

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.

0 Cevap