Minz 0.3
(lecture : 3 minutes)
Quelques jours seulement aprĂšs la version 0.2, je sors cette version 0.3.
Quelles nouveautés alors ? Et bien deux gros morceaux que je voulais absolument implémenter et qui me limitaient un peu dans mes divers développement.
Tout dâabord, la réécriture dâurl Ă travers un module de routes. Comment ça marche ? Et bien regardez lâurl dans la barre de votre navigateur qui doit ĂȘtre ici du genre http://marienfressinaud.fr/?c=blog, ce qui signifie que le controller de lâapplication se nomme blog. Avec cette version, jâaurai la possibilitĂ© de transformer cette url en http://marienfressinaud.fr/blog. Ce nâest pas grand chose, et câest facilement faisable avec un fichier .htaccess, mais jâavais la volontĂ© de le faire directement Ă travers le framework. Le morceau de code qui fera ça est on ne peut plus simple :
return array(
array(
'route' => '/blog',
'controller' => 'blog',
'action' => 'index'
)
);
avec possibilitĂ© de rajouter autant de routes que lâon veut Ă©videmment ;) Ainsi, lorsque lâon regarde un article en particulier, par exemple Ă lâurl http://marienfressinaud.fr/?c=blog&a=voir&id=62, on peut rajouter un peu de code :
return array(
array(
'route' => '/blog',
'controller' => 'blog',
'action' => 'index'
),
array(
'route' => '/blog/voir',
'controller' => 'blog',
'action' => 'voir'
)
);
et l'url http://marienfressinaud.fr/blog/voir?id=62 emmĂšnera au mĂȘme article. On voit d'ailleurs ici la limitation avec les urls un peu dynamiques, je ne gĂšre pas encore les paramĂštres supplĂ©mentaires comme ici id, mais j'y pense ;)
Bon, je n'utilise pas encore cette nouvelle version sur ce site parce que ça demandera un peu plus de travail pour l'intégrer et que ma connexion internet ne me le permet pas :p
DeuxiĂšme fonctionnalitĂ©, aussi importante Ă mes yeux, l'ajout d'un bootstrap d'application. Ă quoi il sert celui-lĂ ? En fait ce bootstrap pourra ĂȘtre modifiĂ© directement par le dĂ©veloppeur pour automatiser certaines tĂąches. Par exemple, dans chacun de mes controllers, j'ai les lignes (entre autres)
$this->view->prependStyle(DOMAIN.'/themes/default/base.css');
$this->view->prependScript(DOMAIN.'/scripts/jquery.js');
$this->view->user = new User();
ce qui devient trĂšs vite rĂ©barbatif. Et bien ce bootstrap me permettra de les charger automatiquement grĂące Ă sa mĂ©thode run(). De ce fait, je nâaurai quâĂ lâĂ©crire une fois, et tous mes controllers seront impactĂ©s donc il y a quand mĂȘme un certain gain en temps âș
JâespĂšre que ça intĂ©ressera quelquâun, surtout que dâun point de vue personnel, je trouve mon framework trĂšs bien et de plus en plus puissant (oui oui, je suis trĂšs objectif ! :D)