IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] question de balisage PHP (pour ceux qui ont de la bouteille)


Sujet :

Langage PHP

  1. #1
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut [Tableaux] question de balisage PHP (pour ceux qui ont de la bouteille)

    Je n'ai pas de bouteille du tout (juste un capuchon pour le moment) d'où ma question qui va peut-être paraitre simple pour certains mais qui, je le pense, demande une certaine expérience.
    J'ai été fort étonné aujourd'hui de voir que ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    if (...)
    {
     ?>      
           <div>hop hop hop</div>
     <?
    }                  
    else(...)
    {
          ?>                        
          <table><tr><td>hop hop hop</td></tr></table>      
          <?
    }
    ?>
    se faisait, j'y avais pensé mais jamais essayé ni vu.

    Je voulais savoir si c'était bien, mal ou mieux que de faire avec des echos par exemple ?

    Merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 57
    Par défaut
    J'ai pris l'habitude d'utiliser cette méthode pour des raisons de clarté pour le code html.
    D'autres te diront d'utiliser les echos pour la clarté du code php

  3. #3
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    si tu n'utilises que des "echo" , ton éditeur Web , meme WYSIWYG ne t'affichera pas les tableaux ou les cellules (en mode création), ils ne seront visibles qu'une fois qu'ils auront été éxécutés par PHP

    Dans cet exemple, tu conserves ton code php et tu peux visualiser/ manipuler tes objets dans ton éditeur WYSIWYG .



    N1bus

  4. #4
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    OK pour vos 2 réponses mais après au niveau de l'éxecution du code PHP, du traitement coté serveur et tout ça ne pose aucun problème ?

  5. #5
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    je travaille toujours comme ça pour garder la main sur le design en WYSIWYG et pas encore eu de problème.

    N1bus

  6. #6
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Perso, j'insère du code HTML dans mes scripts PHP, pas l'inverse...
    En fait, ça dépend surtout si ya plus de code HTML que de code PHP et vis-versa. A la limite, il se peut que j'utilise les 2 solutions dans un même script : Par exemple, j'utilise des echos pour coder une boucle PHP dans un script HTML sinon, j'utilise les balises <? ... ?>. Mais bon, c'est chacun comme y veut car le résultat est le même niveau performance, à+

    ???

  7. #7
    Membre émérite
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Par défaut
    C'est moins clair au niveau de code (encore que tout dépend de la coloration syntaxique de l'éditeur utilisé) mais c'est plus rapide à l'éxécution (à condition de ne pas fermer/ouvrir php à chaques div affichée) car php ne se pose pas de question sur ce qu'il y a entre la balise fermante et la balise ouvrante suivante... mais bon c'est une histoire de millièmes de secondes... .. .

    Pour ce qui est du WYSIWYG je n'y avais jamais pensé mais comme je ne travail pas avec des editeurs WYSIWYG (la plupart ne sortant pas un code propre aux norme XHTML)

    @ tchaOo°

  8. #8
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    mais c'est plus rapide à l'éxécution
    PHP est un langage interprété. C'est le navigateur qui interprète ce code HTML et la source HTML est la même dans les 2 cas, je me trompe ?

    [EDIT] ok kankrelune, je vois la subtilité.

  9. #9
    Membre émérite
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Par défaut
    Citation Envoyé par Sub0
    [EDIT] ok kankrelune, je vois la subtilité.
    J'explique pour ceux qui n'auraient pas compris...

    1 le parseur de code zappe direct le passage html
    2 tu gagne un echo ou un print

    mais bon c'est pas pour ce que ça gagne... perso à moins qu'il y ai plus de html que de php ou alors qu'il y ai un gros bloc de html brut je préfère faire un echo... .. .

    @ tchaOo°

  10. #10
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Pareil pour moi, c'est selon la quantité de code / praticité de l'utilisation de l'un ou de l'autre. Mais en général, je favorise l'utilisation des echos, à+

  11. #11
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Merci pour vos réponses, elles m'éclaircissent un peu plus sur le sujet.
    Juste un petit complément, vous utiliseriez plutôt cette solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    if ($_SESSION['lang']=="fr") echo "<a href=\"?lang=en\" onmouseover=\"supprime_lien(this);\">
       <img src=\"".IMAGE_PATH."drap_eng.gif\" alt=\"English\" />  
       </a>";
    else echo "<a href=\"?lang=fr\" onmouseover=\"supprime_lien(this);\">
       <img src=\"".IMAGE_PATH."drap_fr.gif\" alt=\"Fran&ccedil;ais\" /> 
       </a>";
    ?>
    ou plutôt celle-là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    if ($_SESSION['lang']=="fr") 
    { ?>      
       <a href="?lang=en" onmouseover="supprime_lien(this);">
          <img src="<?php echo IMAGE_PATH?>drap_eng.gif" alt="English" /> 
       </a>                                                                     
    <?php      }
    else 
    { ?> 
       <a href="?lang=en" onmouseover="supprime_lien(this);">
          <img src="<?php echo IMAGE_PATH?>drap_fr.gif" alt="Français" /> 
       </a>
    <?php       } ?>
    Parce que là typiquement j'ai plus de HTML que de PHP mais est-ce que ça vaut la peine de fermer les balises PHP (c'est un exemple tout petit mais en fait c'est une question qui m'interesse pour mon site)

    PS : Sub0 il est terrible ton il n'y aurait pas moyen que tu le mettes dans les smileys de Developpez ?

  12. #12
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    ni l'une, ni l'autre, mais celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    
    if ($_SESSION['lang']=='fr') 
      echo '<a href="?lang=en" onmouseover="supprime_lien(this);">
       <img src="'.IMAGE_PATH.'drap_eng.gif" alt="English" />
      </a>';
    else 
      echo '<a href="?lang=fr" onmouseover="supprime_lien(this);">
       <img src="'.IMAGE_PATH.'drap_fr.gif" alt="Fran&ccedil;ais" />
      </a>';
    
    ?>

  13. #13
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    la première est fausse (manque les accolades)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    if ($_SESSION['lang']=="fr") {
    echo "<a href=\"?lang=en\" onmouseover=\"supprime_lien(this);\">
       <img src=\"".IMAGE_PATH."drap_eng.gif\" alt=\"English\" />  
       </a>";
    }
    else {
    echo "<a href=\"?lang=fr\" onmouseover=\"supprime_lien(this);\">
       <img src=\"".IMAGE_PATH."drap_fr.gif\" alt=\"Fran&ccedil;ais\" /> 
       </a>";}
    ?>
    Dans tous les cas, meme en WYSIWYG tu ne peux pas manipuler l'image puisque le IMAGE_PATH ne sera défini qu'aprés l'execution par PHP

    La première est donc moins chargée et plus lisible dans ton code

    D'un façon ou une autre , tu fais ce qui conviens si tu dois passer un gros bloc HTML ou non pour que ton code soit le plus clair possible.

    N1bus

  14. #14
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Les accolades ne sont pas obligatoires si il n'y a qu'une instruction !!

  15. #15
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Citation Envoyé par Sub0
    ni l'une, ni l'autre, mais celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    
    if ($_SESSION['lang']=='fr') 
      echo '<a href="?lang=en" onmouseover="supprime_lien(this);">
       <img src="'.IMAGE_PATH.'drap_eng.gif" alt="English" />
      </a>';
    else 
      echo '<a href="?lang=fr" onmouseover="supprime_lien(this);">
       <img src="'.IMAGE_PATH.'drap_fr.gif" alt="Fran&ccedil;ais" />
      </a>';
    
    ?>
    tu dis ça par rapport aux doubles côtes? Il vaut mieux utiiliser des simples côtes?

    N1bus : pas besoin d'accolade, j'ai qu'une instruction. Pour l'image je le sais ouè mais je suis comme kankrelune, je ne suis pas du tout un fan des éditeur WYSIWYG

  16. #16
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    si tu veux obtenir une idée de quand utiliser les simple quotes, et quand utiliser les doubles :

    http://pbnaigeon.developpez.com/tuto...phe-guillemet/

    Sinon, j'ai opté récemment pour l'utilisation systématique d'un moteur de templates (Smarty pour ne pas le citer). Une fois pris en main, même pour les petites applis on apprécie le gain de temps en terme de maintenabilité et de clareté du code
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  17. #17
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    il est sympa ce petit papier.
    Merci titoumimi.
    Merci également tous les autres pour les réponses qu'ils m'ont apportés au sujet du balisage. C'est plus clair désormais.

    Si quelqu'un veut faire une remarque ou laisser son avis il peut toujours (je vais attendre avant de mettre résolu afin de voir s'il n'y a personne qui a un argument supplémentaire pour telle ou telle méthode).

  18. #18
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Citation Envoyé par trotters213
    tu dis ça par rapport aux doubles côtes? Il vaut mieux utiiliser des simples côtes?
    Je réserve les doubles quotes aux requêtes SQL car comme mon éditeur PHP permet de choisir une couleur différente pour les simples et doubles quotes, mon code est plus lisible et cela évite de devoir échapper les guillemets dans le code HTML. De plus, les variables dans les doubles quotes sont interprétées. Attention tout de même avec les tableaux, ce n'est pas pareil. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql="SELECT contenu FROM `news` WHERE theme='".$_POST['theme']."'";
    et...
    $sql="SELECT contenu FROM `news` WHERE theme='$theme'";
    [EDIT] J'en parle aussi dans ce sujet :
    http://www.developpez.net/forums/sho...25#post1412425

  19. #19
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    je suis sous Dreamweaver et malheureusement tu ne peux pas changer différencier la couleur des guillemets et des apostrophes

  20. #20
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Tanpis. Mais pense tout de même à ceux qui utilisent un autre éditeur et qui vont lire ton code... Et peut-être bien qu'un jour DW utilisera une couleur différente pour les 2 types de chaîne et ton code sera déjà prêt...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. question pour ceux qui ont fait 1 ere année informatique
    Par sabyna dans le forum Assembleur
    Réponses: 2
    Dernier message: 08/04/2012, 16h55
  2. Réponses: 3
    Dernier message: 04/01/2012, 12h17
  3. IIS + Apache + mysql...pour ceux qui ont déjà installé
    Par ludophil dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 15/10/2005, 02h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo