sohoa / framework

Framework Sohoa
4 stars 4 forks source link

Constructeur du framework créé trop de choses par défaut #74

Closed osaris closed 10 years ago

osaris commented 10 years ago

En cherchant à corriger un bug j'ai découvert par hasard que Greut était initialisé 2x dans mon projet. En effet je fais

$framework->view = new Greut(null, $framework->getRouter());

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

$framework = new Framework();

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.

thehawk970 commented 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);
osaris commented 10 years ago

Réglé par la PR #76 de @guiled ! Merci à lui !

thehawk970 commented 10 years ago

Merci @guiled :-)