Le procédurale a fait ses preuves ! et comme tu dis phpbb à quelques années déjà, les premières version date de php3 ! c'est sur maintenant poru des applciations de cette ampleur, y a mieux que le procédural pur ! mais imagine le travail que ca représenterai de refaire phpbb en objet !Le projet est totalement écrit en procédurale, et c'est très dommage pour le script PHP open source probablement le plus utilisé / moddé sur le web.
Je voulais simplement dire (avec le sourire@dunbar : je ne pense pas que cela soit ton intention, mais le terme "usine à gaz" est péjoratif. S'il designe les constructions d'aspect gigantesque et/ou compliqué, il implique surtout l'inefficacité de la chose, et c'est cet aspect qui ne colle pas à phpBB 3.
Pour le reste... je suis content que la version 3 commence à apparaître dans le monde réel, et au cas où vous vous poseriez la question : non, on n'a pas prévu de mettre à jour. La nouvelle version n'apporte rien dont nous n'ayons besoin et perso, j'aime bien notre subSilver
include($phpbb_root_path . 'include/api/forum.class.' . $phpEx);
Forum::add('Mon forum', 'Une description', 'paramètres suplémentaires etc..');
Alors que actuellement, la création (et la gestion - édition / déplacement etc ..) est gérée dans un fichier de l'administration, fichier de 58KO de procédural. Et là bonjour les copié collés, l'adaptation du code, les bugs parce que tu dois avoir renseigné les 30 paramètres passés en POST pour la création du forum, etc ...Code : Tout sélectionner
<td><span class="genmed">
<input type="button" class="button" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onClick="bbstyle(16)" onMouseOver="helpline('w')" />
</span></td>Code : Tout sélectionner
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" title="{L_BBCODE_C_HELP}" />
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" title="{L_BBCODE_L_HELP}" />
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" title="{L_BBCODE_O_HELP}" />
On inclut un fichier de config, qui change selon l'instance installée du forum, donc ce problème n'a pas lieu d'êtreLa méthode étant statique, cela signifie que notre classe "Forum" ne peut gérer qu'une installation à la fois, donc ne serait pas utilisable pour un site proposant la création/hébergement gratuit de forums, qui devraient en gérer plusieurs à la fois.
On est dans le cadre d'une API, pas d'une page web, donc l'idée de «formulaire» n'est pas cohérente. Par contre dans la méthode Forum::add() on passe simplement le nom ou l'id du forum parent. S'il s'agit du nom il est résolu, sinon on a bien sûr à disposition quelques méthode utilitaires genre Forum::getAll() qui peuvent servir à ça.Mais il y a d'autres problèmes, comme par exemple le choix du forum parent lors de la création d'un forum. Pour choisir le forum parent, il faut pouvoir récupérer/afficher la liste des forums, avec un formulaire approprié, donc il faut exposer plus de choses et on augmente la complexité, etc...
Désolé de te contredire, mais la définition la plus répandue d'usine à gaz est péjorative car elle implique l'inefficacité de la chose (ou le rapport disproportionné entre complexité / utilité).ce n'est péjoratif que dans l'esprit de ceux qui [...]
Hmm, pense "thread safe" ou "reentrant". Tu ne peux pas dans la même exécution ajouter un forum à deux installations différentes, ou alors c'est que tu as une méthode du genre Forum::change_config() et dans ce cas on peut se poser des questions sur le choix d'une classe statique...On inclut un fichier de config, qui change selon l'instance installée du forum [...]
Euh... si ton application choisit le forum parent au hasard ou d'après son propre algorithme, j'imagine, oui. J'avais plus en tête l'exemple d'un centre de commande d'un site tentant de regrouper les fonctions d'administrations.on a bien sûr à disposition quelques méthode utilitaires genre Forum::getAll() qui peuvent servir à ça.