Help - Search - Member List - Calendar
Full Version: Php, Valabilité De Ma Methode.
OpenSpace > Zone Ordinateurs > Programmation
Rabban
etant donné que le serveur oracle de ma boite a pleins de probleme et est indisponible aujourd'hui, j'en ai profité pour nettoyer un peu le code php du site intranet dont je m'occupe.

avant, j'avais des pages html avec des bouts de code php là où il faut, et juste quelques includes pour les gros morceaux de code qui se retrouvaient sur beaucoup de page.

maintenant, j'ai fait un fichier misenpage.php avec pleins de fonctions dedans, je ne mets plus du tout de html dans mes fichiers de pages, qui ressemblent (ou plutot ressembleront, j'ai pas encore fini de tout changer) désormais à ceci:

CODE
<?
include("../php_includes/misenpage.php");


$contenu = formulaire("login", "post", "verif-login.php")
.deb_table(1)
.nouvelle_case("Login:", 1)
.nouvelle_case(input("login", "TEXT", '', "SIZE=\"30\""), 1)
.nouvelle_ligne()
.nouvelle_case("Mot de passe:", 1)
.nouvelle_case(input("motdepasse", "PASSWORD", '', "SIZE=\"30\""), 1)
.fin_table()
.centrer(input('', "SUBMIT", "Valider", '')." ".input('', "RESET", "Annuler", "onclick=\"document.location.href='accueil.php'\""))
.fin_form();

tete("Connection", '');
zone("Connection", $contenu, '');
pied();
?>


sachant que, par exemple, les '1' en dernier argument de nouvelle_case ou de deb_table définissent l'aspect de la page parmi plusieurs possible grace à un switch.

je trouve que le fait d'afficher une page basique en seulement 3 lignes (plus le remplissage de la variable $contenu ^^) peut être très interessant smile.gif

et donc je vous demande ce que vous en pensez, si c'est une bonne façon de proceder où si il y a de meilleures solutions.

en tous cas je suis certain que c'est déjà mieux que ce que j'avais avant.
momo
ben, une page plus simple = moins de risques de bugs ... et surtout, vu que toutes les fonctions sont au même endroit, c'est plus facile à debugger/mettre à jour ...
donc de mon côté de type incapable de faire deux lignes de HTML, c'est du tout bon ..
smile.gif
niko
Je fais un peu dans le même style... sauf que j'utilise une classe définie par mes soins pour l'affichage de mon site smile.gif
Gfx
En JSP et ASP.NET (et Perl et Python) on fait toujours comme ça smile.gif Par contre en PHP je continue à chier le code HTML mélangé au PHP smile.gif
Sha
Chui d'accord avec cherge, heu enfin avec momo.
Gfx
Je trouve ta méthode excellente (d'ailleurs j'ai bien envie de changer #ProgX pour l'adopter ^^) mais un bémol : ton fameux '1' pour le style. Je ne sais pas réellement ce que tu entends par là, mais à ta place j'opterais plutôt (si cela est possible du point de vue des navigateurs clients) pour du tout CSS. C'est donc dans le <head> que tu choisirais le style et nulle part ailleurs.
Rabban
oui, j'ai hesité sur ce point, je ne savais pas vraiment comment faire.

en pratique, dans la fonction j'ai un switch, et par exemple pour la fonction nouvelle_case, selon le numero je retourne "<TD>".$contenu."</TD>", "<TD BGCOLOR=#123456 VALIGN="TOP">".$contenu."</TD>", etc....

mais ce n'est pas uniquement ce genre de choses, par exemple pour la fonction qui crée les liens hypertexte, selon le numero j'integre directement une puce, etc.

ou alors, ce que je pourrais faire c'est, au lieu de switcher sur un chiffre, switcher sur une chaine de caractere décrivant mieux de quoi il s'agit.

en ce qui concerne les css, le probleme c'est que.... ben en fait j'y connais rien en css ^^;

j'ai bein essayé de m'y mettre une fois ou deux, mais j'ai l'impression que ça ne correspond pas vraiment à ma façon de penser. faudrait que j'étudie ça de plus près car ça n'a pas vraiment l'air sorcier.

un autre truc qui m'ennuie avec cette methode, c'est par exemple pour les input, j'ai 3 parametres principaux (type, name et value) et un dernier (autre) pour ajouter un renseignement supplémentaire (souvent un javascript sur onfocus ou onclick). et pour remplir le dernier, je suis bien obligé de mettre un petit bout de code, comme on le voit sur mon reset.
c'est pas vraiment genant, mais ça m'ennuie un peu de faire comme ça.
Guswey
Même avis que momo et gfx.
Ca permet une meilleure maintenance/mise à jour et ça allège aussi les transferts serveur->client. Je sais pas si ça servira beaucoup dans ta boite mais si le traffic est important, ce n'est pas négligeable.

Edit: pour le css, j'ai trouvé ça... J'ai pas tout regardé, mais ça à l'air assez complet.



Gfx
Ben passe des arrays pour les truc optionnels, comme par exemple :
input("typedinput", "valeurinput", array('nomattribut1' => 'valeurattribut1'))

Pour les CSS, crois moi ça te facilitera la vie smile.gif
Rabban
bonne idée les array, c'est le genre de trucs auxquels je pense jamais smile.gif

en fait, en html je suis resté bloqué quelques années en arrière. je n'utilise jamais de div ou ce genre de chose, ma seule methode pour placer un element sur une page c'est de faire des tables, etc.. donc les css et tout les trucs modernes genre xml, dhtml, xhtml et autres noms barbares c'est pas trop mon truc happy.gif

cependant je veux bien admettre que c'est utile.
j'irai voir jeudi ce que je peux trouver la dessus sur le net, et je verrai bien comment je m'en sors smile.gif

edit: j'en profite pour inserer une compie d'un post qui s'est perdu en chemin tout a l'heure (après le post de Sha, apparemment le forum avait un probleme de BDD?):
QUOTE

en fait, ce que je me demandais c'est si il n'existait pas de méthode "standard" pour faire ce genre de choses.

et si le fait de tout mettre dans une seule variable comme je le fais n'entrainait pas de problemes que je n'aurais pas vu.

mais je suis rassuré, je vais donc faire passer tout le reste comme ça smile.gif


d'ailleurs, en faisant ça je me suis surpris à faire un truc que j'avais presque jamais fait avant.... j'ai commenté mes fonctions!
c'est mal, ça rend le code lisible et la boite ne dépend plus de moi, n'importe qui peut modifier le code assez facilement.... je deviens remplaçable!




Gfx
LapKill découvre son boulot ^^
Rabban
voui, mais bon je ne suis que stagiaire pour l'instant.... enfin en alternance plus précisément.

soit dit en passant, j'ai pas l'impression que ce soit la norme en milieu professionnel, le code propre et les commentaires. surtout quand je vois la merde qu'il y avait partout sur le site quand je suis arrivé ^^;

rien qui marchait, et dans le peu qui marchait, pas deux trucs qui marchaient pareil. des sous répertoires à rallonge à n'en plus finir, parfois avec le même nom et contenu que le répertoire parent, multiplication de fichiers identique à différents endroits (notamment les images), mise en page digne des pires homepages d'aol... kabeurk!

un jour, je vous parlerai de mon stage d'il y a deux ans, j'ai trouvé dans un code c++ un for(i=0, i<10, i++) {une ligne de code; i=10;} (enfin pas exactement, mais ça ressemblait)
Darhf
Euh vous pouvez aussi utiliser un des 462000 moteurs de templates dispos en php...
Gfx
Oui mais ce n'est pas le même principe. D'ailleurs cette discussion m'a donné une idée fonfonne que j'ai commencé à fouiller ce soir ^^
Rabban
oui, mais j'aime pas les trucs tout faits tongue.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2024 Invision Power Services, Inc.