sandrinoo 1 Signaler ce message Posté 31 Octobre 2013 Bonsoir à toutes et à tous, Un question qui doit vous paraître évidente, mais pas pour moi. Les 2 codes dessous génèrent le même résultat. Le premier est le plus correct et le plus lisible mais quel est celui qui génère le résultat le plus rapide ? <div id ="bloc"> ceci est une variable : <?php echo $var; ?> et celle la aussi : <?php echo $var2; ?>. </div> <?php echo "<div id =\"bloc\"> ceci est une variable : ".$var." et celle la aussi : ".$var2."</div>" ?> merci pour votre réponse. Sandy Partager ce message Lien à poster Partager sur d’autres sites
Aenoa 7 Signaler ce message Posté 31 Octobre 2013 bonsoir, ce n'est pas avec cela qu'un script sera plus ou moins rapide, c'est surtout sur les grosses exécutions avec ouverture de DB et autres joyeusetées qu'un script peut être "plus lent". En soi, les deux se valent, mais je préfère la première pour une meilleure propreté du code. Partager ce message Lien à poster Partager sur d’autres sites
Dadou 25 Signaler ce message Posté 1 Novembre 2013 Tu as deux autres variantes encore : <?php echo "<div id =\"bloc\"> ceci est une variable : $var et celle la aussi : $var2</div>" ?> Oui, un echo avec double quote est capable d'interpréter les variables et tu as le echo avec simple quote : <?php echo '<div id ="bloc"> ceci est une variable : '.$var.' et celle la aussi : '.$var2.'</div>' ?> En terme de performance, il y a très peu entre les deux, la deuxième est un poil plus rapide, car elle ne cherche pas à interpréter des variables dans le echo, mais cela ne se sent réellement que sur des millions d'itération. La plus rapide de toute est la première que tu as faite, mais, il faut vraiment un très grand nombre d'itération pour que cela influe réellement sur la rapidité d'un code, c'est une optimisation négligeable. Partager ce message Lien à poster Partager sur d’autres sites
sandrinoo 1 Signaler ce message Posté 1 Novembre 2013 (modifié) merci Aenoa et Dadou pour vos réponses. Ah bon, je pensais qu'ouvrir et fermer sans arrêt des balises php (solution 1 de mon code) pouvait être plus long en exécution sur une page entière de code... Modifié 1 Novembre 2013 par sandrinoo Partager ce message Lien à poster Partager sur d’autres sites
duplex13 0 Signaler ce message Posté 2 Novembre 2013 Bonjour, Pour ma part, je préfère de loin les pages où le HTML généré l'est via un gestionnaire de template. C'est carrément plus propre, même si c'est difficile de supprimer tout le code HTML généré directement en php et dans ce cas, je préfère la solution de Dadou : <?php echo "<div id =\"bloc\"> ceci est une variable : $var et celle la aussi : $var2</div>" ?> Partager ce message Lien à poster Partager sur d’autres sites
Ciseur 0 Signaler ce message Posté 6 Novembre 2013 Bonjour à tous, Tu as deux autres variantes encore : <?php echo "<div id =\"bloc\"> ceci est une variable : $var et celle la aussi : $var2</div>" ?>Oui, un echo avec double quote est capable d'interpréter les variableset tu as le echo avec simple quote :<?php echo '<div id ="bloc"> ceci est une variable : '.$var.' et celle la aussi : '.$var2.'</div>' ?>En terme de performance, il y a très peu entre les deux, la deuxième est un poil plus rapide, car elle ne cherche pas à interpréter des variables dans le echo, mais cela ne se sent réellement que sur des millions d'itération. J'ajouterais pour le dernier exemple de Dadou qu'il est préférable d'utiliser la virgule plutôt que le point (même si encore ici la différence est vraiment infime. <?php echo '<div id ="bloc"> ceci est une variable : ',$var,' et celle la aussi : ',$var2,'</div>' ?> Partager ce message Lien à poster Partager sur d’autres sites
Dadou 25 Signaler ce message Posté 6 Novembre 2013 Il faut préciser que la virgule comme concatenateur ne fonctionne qu'avec echo, qui dans ce cas la est géré par PHP comme une fonction. Le concatenateur logique reste le point, et par soucis d'éviter les confusions il est mieux de garder l'usage du point Partager ce message Lien à poster Partager sur d’autres sites
adn 4 Signaler ce message Posté 15 Novembre 2013 Pour ma part je dirai que les 2 codes sont mauvais et qu'il est préférable de séparer le code de la charte avec un template @++ Partager ce message Lien à poster Partager sur d’autres sites
Ernestine 11 Signaler ce message Posté 15 Novembre 2013 À l'origine PHP était principalement un langage de templating, donc ce n'est pas aberrant de s'en servir pour ça. Après sur une grosse appli, mieux vaut un moteur de template, mais sur des petits trucs, faire de l'affichage en php n'a rien de stupide. Sinon ceci : <?php echo "<div id =\"bloc\"> ceci est une variable : ".$var." et celle la aussi : ".$var2."</div>" ?> est pour le moins illisible ! Cette écriture : <div id ="bloc"> ceci est une variable : <?php echo $var; ?> et celle la aussi : <?php echo $var2; ?>. </div> est quand même beaucoup plus facile à relire et modifier. Partager ce message Lien à poster Partager sur d’autres sites
adn 4 Signaler ce message Posté 15 Novembre 2013 Je suis d'acoord Ernestine, mais on sait comment les choses évoluent et petit deviendra plus gros... Autant prendre le bon pli dès le début, on gagne du temps après. Plus court et encore plus lisible <div id ="bloc"> ceci est une variable : <?=$var?> et celle la aussi : <?=$var2?>. </div> Partager ce message Lien à poster Partager sur d’autres sites
Dadou 25 Signaler ce message Posté 15 Novembre 2013 Non, cette formulation n'est pas disponible sur de nombreux serveurs, c'est d'autant plus génant que le xml commence par le même tag. Partager ce message Lien à poster Partager sur d’autres sites
Portekoi 10 Signaler ce message Posté 15 Novembre 2013 À l'origine PHP était principalement un langage de templating, donc ce n'est pas aberrant de s'en servir pour ça. Après sur une grosse appli, mieux vaut un moteur de template, mais sur des petits trucs, faire de l'affichage en php n'a rien de stupide. Sinon ceci : <?php echo "<div id =\"bloc\"> ceci est une variable : ".$var." et celle la aussi : ".$var2."</div>" ?> est pour le moins illisible ! Cette écriture : <div id ="bloc"> ceci est une variable : <?php echo $var; ?> et celle la aussi : <?php echo $var2; ?>. </div> est quand même beaucoup plus facile à relire et modifier. Ah ben tu vois, pour moi, je préfère la première solution. Le code est plus lisible pour moi. Mais c'est vraiment une question d'habitude Partager ce message Lien à poster Partager sur d’autres sites
captain_torche 42 Signaler ce message Posté 15 Novembre 2013 Tout dépend de ce que tu veux mettre en valeur : tes noms de variable, ou la structure HTML ? Partager ce message Lien à poster Partager sur d’autres sites
Ciseur 0 Signaler ce message Posté 15 Novembre 2013 Il faut préciser que la virgule comme concatenateur ne fonctionne qu'avec echo, qui dans ce cas la est géré par PHP comme une fonction. Le concatenateur logique reste le point, et par soucis d'éviter les confusions il est mieux de garder l'usage du point Pour ma part je dirai que les 2 codes sont mauvais et qu'il est préférable de séparer le code de la charte avec un template @++ Pour rappel la question était : quel est celui qui génère le résultat le plus rapide ? d'où ma réponse. Partager ce message Lien à poster Partager sur d’autres sites
Dadou 25 Signaler ce message Posté 15 Novembre 2013 Qui est une réponse incomplète et risque d'induire en erreur bon nombre de débutants qui pourraient être amené à penser que la virgule est aussi un concatenateur logique. d'où ma précision. Et comme je le disais sur ma première réponse, c'est négligeable la différence d’exécution, et j'ajouterais qu'aucun test sérieux n'a pu réellement prouver qu'une écriture est plus rapide que l'autre. Partager ce message Lien à poster Partager sur d’autres sites