Closed osaris closed 10 years ago
$framework->view = new Greut(null, $framework->getRouter());
le constucteur est pas bon déja :p c'est
$framework->view = new Greut();
$framework->view ->setRouter($framework->getRouter());
Ensuite on peut déléguer le comportement dans le run() et avoir le comportement suivant :
$fwk = new Framework();
$fwk->run(); //Ok
$fwk = new Framework();
$greut = new Greut();
$greut->setRoute($fwk->getRouter()); //Fail ->getRouter() === null
$fwk->setView($greut);
$fwk = new Framework();
$fwk->setRouter();
$greut = new Greut();
$greut->setRoute($fwk->getRouter()); //Ok ->getRouter() est initialiser avant :)
$fwk->setView($greut);
Réglé par la PR #76 de @guiled ! Merci à lui !
Merci @guiled :-)
En cherchant à corriger un bug j'ai découvert par hasard que Greut était initialisé 2x dans mon projet. En effet je fais
ce qui n'est certe pas malin puisque Greut est l'outil de vue par défaut mais qui soulève quand même une autre remarque, étant donné que
initialise tout plein de choses (https://github.com/sohoa/framework/blob/master/Sources/Sohoa/Framework/Framework.php#L89-L94) que l'on ne peut pas surcharger, on se retrouve dans tous les cas avec Greut alors qu'on souhaite peut être utiliser Xyl.