votre avis m'interesse

votre avis m'interesse - PHP - Programmation

Marsh Posté le 02-03-2009 à 11:14:14    

Bonjour,
 
  Je travail actuellement pour une société pour qui je dois valider / vérifier / proposer  des choix technique autour de développement web. Cela à commencer par définir des règles de développement afin de rendre le code plus homogène et pérenne sur les différents projets.
 
  Et pour un développeur je tombe sur ce code là et je voudrais le convaincre par une bonne argumentation que ce n'est pas bien, mais les mots me manque et j'ai besoin de votre aide. (sachant que dans quelque jours je ferais, je pense, lire ce post au développeur en question) :
 
Voici le code : un seul echo et c'est bien cela qui me gène :

        echo "<center><form action=\"scripts/gestion_comptes.php\" id=\"form_modif_compt\" method=\"post\"><table id=\"tab_general\"><caption align=\"bottom\"><br /><br /></caption>"
                ."<tr><td  id=\"td_general_entete\">Identifiants</td><td  id=\"td_general_entete\">Niveau de droit</td><td  id=\"td_general_entete\">Fin de validité du compte</td></tr>"
                ."<tr><td id=\"td_creat_compt1\">"
                ."Modifier les noms et prénom<br /><input class=\"inp_creat_compt\" type=\"text\" id=\"nom_pren\" name=\"nom\" value=\"$compte_util->nom\" /><br /><br />"
                ."Nouveau mot de passe<br /><input class=\"inp_creat_compt\" type=\"text\" id=\"pass\" name=\"passwd\" /><br />Si le mot de passe ne change pas <br /> merci de laisser ce champs vide"
                ."</td><td id=\"td_creat_compt2\">"
 
                .'<script type="text/javascript">'
                        //.'alert(\'coucou\');'
                        .'$(document).ready(function(){'
                        .'$("input[@name=\'droit\']:nth('.$radio_checked.')" ).attr("checked","checked" );'
                        .'})'
                .'</script>'
 
                ."<input name=\"login\" type=\"hidden\" value=\"hidden\" />"
                ."<input name=\"date_valid\" type=\"hidden\" id=\"recap_date\" value=\"$compte_util->date_valid\" />"
                ."<input name=\"modif_util\" type=\"hidden\" />"
 
 
                ."<input type=\"radio\" name=\"droit\" value=\"1\" class=\"rad_creat_compt\" id=\"droit_1\" /> <a class=\"a_niv_droit\">Opérateur</a> <br />"
                ."<input type=\"radio\" name=\"droit\" value=\"2\" class=\"rad_creat_compt\" id=\"droit_2\" /> <a class=\"a_niv_droit\">Responsable commercial</a> <br />"
                ."<input type=\"radio\" name=\"droit\" value=\"3\" class=\"rad_creat_compt\" id=\"droit_3\" /> <a class=\"a_niv_droit\">Responsable marketing</a> <br />"
                ."<input type=\"radio\" name=\"droit\" value=\"4\" class=\"rad_creat_compt\" id=\"droit_4\" /> <a class=\"a_niv_droit\">Administrateur</a> "
                ."</td><td id=\"td_creat_compt1\">Date de fin de validité <br /><br />";


 
Merci


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 02-03-2009 à 11:14:14   

Reply

Marsh Posté le 02-03-2009 à 11:31:11    

qu'il développe comme une merde et que sa façon de faire du HTML date d'avant 1999 et que s'il se met pas au niveau et utilises pas des méthodes modernes, il prend la porte, ça marche pas comme argumentation :D
 
Qu'il regardes du côté du design pattern MVC...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 02-03-2009 à 11:31:15    

Déjà quand on echo des strings contenant des double-quotes, on les englobes avec des simple pour la lisibilité, genre :

Code :
  1. echo "<center><form action=\"scripts/gestion_comptes.php\" id=\"form_modif_compt\" method=\"post\">
  2. <table id=\"tab_general\"><caption align=\"bottom\"><br /><br /></caption>";


Est largement moins bien que

Code :
  1. echo '<center><form action="scripts/gestion_comptes.php" id="form_modif_compt" method="post">
  2. <table id="tab_general"><caption align="bottom"><br /><br /></caption>';


Ensuite merci le code à la con [:pingouino] Balise center ? Le caption vide avec deux <br /><br /> ? Mieux vaut utiliser des CSS pour la maintenance, là si tu décides que tous les formulaires doivent avoir leur padding top modifié, c'est changé en une fois, au lieu de parcourir tous les scripts et virer les <br />


Message édité par FlorentG le 02-03-2009 à 11:31:39
Reply

Marsh Posté le 02-03-2009 à 11:44:54    

J'aurais rajouter que de faire un echo sur du HTML ça fait travaille PHP pour rien.
Côté lisibilité ça donne pas envie de lire ce code...
 +1 pour rufo et FlorentG


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 02-03-2009 à 12:09:00    

Perso entre double quotes ou meme en fermant les balises php quand on a affaire à qu'un bloc pur HTML


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 02-03-2009 à 12:21:20    

grosbin a écrit :

Perso entre double quotes ou meme en fermant les balises php quand on a affaire à qu'un bloc pur HTML


 
C'est ce que j'avais proposé au développeur de fermer la balise php, car il y a beaucoup de html pour peu de php, mais ca réponse à été " oui mais je suis obliger de réouvrir le php pour faire afficher chaque variable "
 
et là ca manquait d'argumentation technique c'était plus un problème de gout et de couleur (ou pour moi de bonne pratique de la programmation)
 


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 02-03-2009 à 13:49:22    

En ce qui me concerne et pour des raisons de lisibilité, je préfères largement coder en HTML et mettre des balises PHP dans mon code HTML.

Reply

Marsh Posté le 02-03-2009 à 14:02:04    

PierreC a écrit :


 
C'est ce que j'avais proposé au développeur de fermer la balise php, car il y a beaucoup de html pour peu de php, mais ca réponse à été " oui mais je suis obliger de réouvrir le php pour faire afficher chaque variable "
 
et là ca manquait d'argumentation technique c'était plus un problème de gout et de couleur (ou pour moi de bonne pratique de la programmation)
 


 
en même temps mettre

Code :
  1. <?=$compte_util->date_valid ?>

est beaucoup plus propre et lisible et ça ne coûte rien ;)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 02-03-2009 à 14:25:31    

oui mais dans nos règles de développement interne, les balises courtes sont interdites en référence à la doc officiel de php : http://www.php.net/manual/fr/langu [...] hpmode.php  

Citation :

Note: L'utilisation des balises courtes doit être banni lors de développements d'applications ou de bibliothèques qui sont destinées à être redistribuées, ou déployées sur des serveurs qui ne sont pas sous votre contrôle, car les balises courtes peuvent ne pas être supportées sur le serveur cible. Pour réaliser du code portable, qui peut être redistribué, n'utilisez jamais les balises courtes.


Message édité par PierreC le 02-03-2009 à 15:18:49

---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 02-03-2009 à 14:34:01    

Certe me j'en suis moyennement sur car certain serveur pourront être configuré pour exécuter le PHP dans des balise <%PHP %> comme IIS
et donc ton code deviens HS !!
donc ça :

Code :
  1. <? echo $compte_util->date_valid ?>


est toujours trop long .....  :lol:  
sinon tu uniformise avec une fonction d'affichage (par exemple) pour gérer tes sorties écran.


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 02-03-2009 à 14:34:01   

Reply

Marsh Posté le 03-03-2009 à 05:54:12    

Bonjour,
 
Le seul code qui passera sur tous serveurs est celui-ci :

Code :
  1. <?php echo $compte_util->date_valid ?>


car le fait que "asp_tags" et "short_open_tag" soient "on" ne donne que la possibilité des les utiliser, sans empêcher cette syntaxe, qui est, de surcroît, la plus courante.

Reply

Marsh Posté le 03-03-2009 à 10:07:06    

Citation :

Le seul code qui passera sur tous serveurs est celui-ci :


 
oui, ainsi que le code initiale écrit par le développeur ....

Message cité 1 fois
Message édité par PierreC le 03-03-2009 à 10:07:29

---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 03-03-2009 à 14:02:50    

Autre argumentation possible : la fermeture / ouverture des balises php pour du code HTML, permet à l'IDE de faire de la coloration syntaxique + d'utiliser les outils adéquoites.
Ex: repérages des balises html ouvrantes / fermantes, de proposer la completion pour les proprietes des balises html...
remarque vu ton logo, t'es surement sous linux, et tu utilises peut etre vi ou une truc du genre, donc ne connaissant pas ton environnement de developpement, mon argument ne vaut peut etre pas un clou (héhé référence subtile au post précédent ;) )


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 03-03-2009 à 17:59:46    

+1
mais je ne vois pas le problème que vous avez avec

Code :
  1. <input type="text" value="<?php echo $blabla ?>" />


Reply

Marsh Posté le 03-03-2009 à 18:00:25    


Le fait qu'il faille écrire

Code :
  1. <input type="text" value="<?php echo htmlspecialchars($blabla) ?>" />


[:dawak]

Reply

Marsh Posté le 04-03-2009 à 07:51:08    

FlorentG a écrit :


Le fait qu'il faille écrire

Code :
  1. <input type="text" value="<?php echo htmlspecialchars($blabla) ?>" />


[:dawak]


 
heu, et quid d'une ch'tite librairie dans ton projet ou tu definis un ch'tite fonction qui raccourci tout ca ?
 

Code :
  1. function display($text) {
  2.   echo htmlspecialchars($text);
  3. }


 
en fait, perso je n'utilise pas de fonction ci dessus, mais plutot :

Code :
  1. function printInput($name, $value) {
  2.   echo '<input type="text" name="'.$name.'" id=".$name.'" value="'.$value.'" />';
  3. }


(et la trop de php à mon gout pour fermer et r'ouvrir les balises php a chaque fois, d'où le echo)
 


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 04-03-2009 à 08:10:19    

J'ai tendance à faire comme ça aussi. Les lib pour manipuler ma BD et des lib pour gérer l'affichage.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-03-2009 à 10:10:26    

stef_dobermann a écrit :

sinon tu uniformise avec une fonction d'affichage (par exemple) pour gérer tes sorties écran.


+1 pour rufo, je fais pareille


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 04-03-2009 à 12:53:33    

fluminis a écrit :

heu, et quid d'une ch'tite librairie dans ton projet ou tu definis un ch'tite fonction qui raccourci tout ca ?


J'ai ça ouais :jap: Une pour le cas normal, l'autre pour les attributs (qui ont besoin d'escaper les " en plus).
 

fluminis a écrit :

en fait, perso je n'utilise pas de fonction ci dessus, mais plutot :

Code :
  1. function printInput($name, $value) {
  2.   echo '<input type="text" name="'.$name.'" id=".$name.'" value="'.$value.'" />';
  3. }



Ca je n'utilise plus, y'a toujours des cas où ça fait chier, j'ai plutôt un truc basé sur DOM qui se greffe sur un formulaire HTML standard, et se charge d'afficher les valeurs.

Reply

Marsh Posté le 04-03-2009 à 14:39:03    

Citation :


Ca je n'utilise plus, y'a toujours des cas où ça fait chier, j'ai plutôt un truc basé sur DOM qui se greffe sur un formulaire HTML standard, et se charge d'afficher les valeurs.


 
interessant, un petit bout de code pour montrer comment t'as mis ca en place ?


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 04-03-2009 à 15:43:37    

FlorentG a écrit :


Le fait qu'il faille écrire

Code :
  1. <input type="text" value="<?php echo htmlspecialchars($blabla) ?>" />


[:dawak]


 oui mais la différence avec un echo plein de html ou bien la syntaxe raccourcie (<?=?> ) ?


Message édité par Profil supprimé le 04-03-2009 à 15:43:45
Reply

Marsh Posté le 04-03-2009 à 15:56:23    

fluminis a écrit :

interessant, un petit bout de code pour montrer comment t'as mis ca en place ?


C'est n'est pas un petit bout de code  [:zoubidawa]

Reply

Marsh Posté le 04-03-2009 à 16:15:55    

Y'en a qu'on essayer de le voir, ils ont eu des problèmes

Reply

Marsh Posté le 04-03-2009 à 16:16:51    

NazzTazz > arf, je ne savais pas... je ne connais pas trop le loustic moi :D
 
FlorentG > Je vous demande pardon cher ami, je ne recommencerai plus, quoi que je suis toujours fort interessé... et toujours prenneur ;)
 
 


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 04-03-2009 à 16:18:23    


Bah sinon il regarde du côté de Symfony, ou de Django (mais Django c'est pas du PHP) :o


Message édité par masklinn le 04-03-2009 à 16:18:53

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed