| Auteur | |
|---|---|
| sff | # 12 May 2008 - 21:47:21 |
| 36 Posts |
Bonjours, je me pose des questions concernant la structure du code de mon site. Actuellement dans chaque page, genre faq.php, home.php, inventory.php etc, j'ai mi ca en début de page:
Ca c'est l'exemple de faq Donc je pense que vous connaissez le principe, si ?do=machin on redirige vers la fonction machin, c'est le meme genre au début des 3 quart des pages. Donc moi j'ai peur d'avoir fait une connerie en faisant ca, vous allez me dire si c'est vrai. Moi ce que j'aurai fais c'est de mettre tous les switch des autres pages :
et de tous les ressembler dans index.php comme ceci :
Ca éviterai certaines requetes, mais est ce que c'est vraiment valable? Est ce que les codages habituels font ceci, rediriger les $_GET, vers les fonction approprié et tout ca depuis index.php Evidement au lieu d'avoir des liens comme ca faq.php?do=machin ou aurait index.php?do=machin Merci vos réponses. Modifié par sff (12 May 2008 - 21:47) |
| Thomas D. | # 13 May 2008 - 09:09:16 |
Roi sous la montagne Modérateur 2864 Posts |
Salut, je ne suis pas certain d'avoir tout compris ... mais je vais essayer tout de même Ce qu'on fait souvent en PHP, c'est de centraliser toute la gestion du contenu à afficher dans le fichier index.php, principalement pour avoir un template unique plus facile à maintenir. Ce qui donne, dans le fichier index.php, quelque chose comme ceci : <div id="content">Ensuite, les actions à gérer en fonction du second paramètre $_GET['do'] peuvent sans problème être déclenchés dans chacun des fichiers concernés ... ce qui est sans doute plus clair et "plus maintenable" qu'un immense switch dans index.php ... Et comme disait Groucho Marx, si vous n'aimez pas mes opinions, j'en ai d'autres. |
| sff | # 13 May 2008 - 11:36:42 |
| 36 Posts |
Dans ton cas les liens serait de ce type? index.php?page=news&do=edit (par exemple) Parceque actuellement moi mes liens sont plutot ce de genre : news.php?do=edit La le index.php, ne rentre pas en jeu. Faut t'il que ca soit le cas? |
| Thomas D. | # 13 May 2008 - 13:58:22 |
Roi sous la montagne Modérateur 2864 Posts |
Re.Faut t'il que ca soit le cas?Ce n'est pas indispensable, non. Comme je l'ai dit, ça permet simplement de ne pas avoir à gérer le layout global de tes pages sur plusieurs fichiers différents. Et comme disait Groucho Marx, si vous n'aimez pas mes opinions, j'en ai d'autres. |
| CPascal | # 13 May 2008 - 21:33:14 |
ca represente ... ... rien 753 Posts |
Parceque actuellement moi mes liens sont plutot ce de genre : news.php?do=edit ça reponds a ta question premiere non? du coup les tests ne devraient pas être dans index.php. Encore que tu pourrais mettre tes switch dans un fichier a "includé" genre include ("fichier_switch.php"); que tu inclus dans chaque fichier. maintenant ça fait un peu fouilli et puis et si deux fichiers appelent une action s'appelant pareil pour lancer une fonction dont le comportement est différent? une tres simple expression du polymorphisme. ton affaire se complexifie. de plus si un fichier recoit une action non prevu pour celui-ci tu risques d'avoir une action quand même. ça gene le debug. ça gene la gestion des droits. bon je dis pas impossible a gérer. mais j'ai l'impression que tu veux trop compresser. et puis pareil je dirais bien sûr on peut s'imposer la contrainte un seul parametre mais pourquoi pas 2 ou plus? c'est un peu comme si tu t'inderdisais d'utiliser des procedures pour ne coder que des fonctions. possibles mais contraignant. Modifié par CPascal (13 May 2008 - 21:33) je m'en vais resoudre ce sacré schimliblibli .... schimilili... schmilbl.. hic. |
| sff | # 14 May 2008 - 20:36:34 |
| 36 Posts |
Le fonctionnement actuel a ses avantages comme ses inconvénients La si je prends l'exemple de faq.php, tous les switch concernant ce fichier, sont au début. Donc pour s'y retrouver c'est facilement, au lieu de par exemple chercher case 'list_faq': list_faq(); break; parmis une centaine de ligne d'un switch dans index.php De meme les requetes sont optimité, en début de page, je selectionne uniquement les champs dont j'ai besoin dans les requetes, qui serviront uniquement pour faq.php. Si je l'avais fais pour index, j'aurai forcement eu 1 seul requete unique qui servirait pour tout le switch de index, au lieu d'avoir eu dans chaque début de page comme pour faq.php, mais par contre je devrais mettre un * pour selectionner tous les champs. Donc voila je sais toujours pas quoi faire? Faut t'il choisir pour une concentration dans un unique switch pour index.php, et avoir une requete, ou faut 'il rester dans le principe actuel, c'est a dire que chaque page soit autonome, avec ses propres requetes, et son propre switch. Dans le premier cas, on va forcement supprimer pleins de lignes dans le script. |
Les références web : openweb.eu.org - opquast.com - webmaster-hub.com - webrankinfo.com - salemioche.net - web-pour-tous.org - webonorme.org
Nos partenaires : Editions Eyrolles - Location vacances France - Location vacances Europe
Nikozen : Hébergement - Réalisation : Alsacreations.fr







