Tümü,
Ben php biraz dinamik bir site yazıyorum, ve bağımlılık enjeksiyon yerine küresellerle kullanmaya çalışıyorum.
Benim endeksinde, ben UI görüntülenecek çeşitli unsurları içeren bir $view nesnesi oluşturun. Endekste, ben de yöneten bir switch($action){} yapıya sahip require kullanıcı menüsünde tıkladığında hangi madde dayanan (ve dolayısıyla [) (3] {değerine hangi kontrolörleri }). Daha sonra kumanda üzerinde $view=execute($view) gibi bir şey söylüyorlar. Her execute() function (denetleyici başına 1) return $view; ile biter. Fikir Ben endeksinde bir kullanıcının oturumu sırasında oluşturulan biriken bilgi içeren bir $view nesneyi tutmak olabilir.
Benim sorum: Ben her denetleyicisi $view Bir sınıf değişkeni yapmak gerekiyor? Ben sadece modifiye, execute() fonksiyonu üzerinden geçmek işlev içinde değiştirmek, ve dönmek istiyorum. Ben bu hala bağımlılık enjeksiyon kabul veya nesne geçirilir için sınıfların bir sınıf değişkeni yapma veya değil avantajları nelerdir olup olmadığına emin değilim.
Teşekkürler,
JDelage
PS: anlayışı ile yardımcı olmak için biraz daha fazla kod:
Index.php:
require_once("Class_view.php"); // J'ai cree une classe separee pour la vue.
$view=new $view;
$view->addToViewArray("title", "projet JDelage");
(...)
switch($action){ // Creates instances of the appropriate controller under the name $command
(...)
}
$view=$command->execute($view) // Each execute() function of each controller takes $view as a parameter, modifies it, and returns it.