Retour à la ligne

mistral
Invité n'ayant pas de compte PHPfrance

08 févr. 2006, 21:08

Bonjour,
Je relance à nouveau le débat sur le choix entre simple et double quote... J'aimerais avoir un code source propre, avec donc des sauts à la ligne quand je le souhaite. Problème : on m'a dit qu'il vallait mieux utiliser des simples quote avec echo, pour optimiser le code...
echo '<div id="machin">'.$truc.'</div>';
plutôt que
echo "<div id=\"machin\">".$truc."</div>\n";
...
Est ce si gênant d'avoir des double quote ? Y a t il une autre solution pour avoir des retours à la ligne avec des simple quote ?

D'avance merci

Mammouth du PHP | 19672 Messages

08 févr. 2006, 22:54

Une méthode beaucoup plus propre qui va résoudre ton problème:
<div id="machin"><?php echo($truc); ?></div>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 févr. 2006, 13:43

Dans cet exemple, la solution de cyrano est effectivement la meilleure je pense.

Ensuite, personnellement, il m'arrive souvent (principallement dans des boucles) de préférer faire des echo du code html que de devoir re-basculer en html pour revenir en php juste après. Du coup je fais tout en php.

Dans ce cas, ma préférence va effectivement au quote simple, non pour une histoire de performance (qui soit dit en passant doit être tellement infime pour ce qu'on gagne en virant une 10aine de backslash pour proteger les gillemets du code) mais surtout pour une question de lisibilité du code.

En effet, ton premier exemple est quand même plus facile à lire que le second, et l'on comprend du premier coup d'oeil ce qu'il fait. Les antislash du second obligent un temps de réflexion supplémentaire, juste pour s'assurer qu'ils ne cachent rien d'autre (Ca reste que mon avis perso :)).

C'est peut etre plus flagrant sur un tableau :
echo '<table border="0" cellspacing="1" cellpadding="1" align="center" width="75%">';
est à mon sens plus lisible que :
echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"1\" align=\"center\" width=\"75%\">";
Sachant que de toute façon, rien ne t'empêche d'ajouter un ."\n" a la fin de ta ligne, même si elle est faite avec des quotes. C'est peut être pas super propre au niveau du code php, mais je trouve ça plus lisible et tu gardes quand même un code html propre :)

mistral
Invité n'ayant pas de compte PHPfrance

09 févr. 2006, 23:11

Merci pour vos solutions :) et merci pour ta solution Ryle... J'essaierais donc les echo 'blalabla."\n"'; :) C'est un bon compromis entre les deux méthodes

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

10 févr. 2006, 00:29

Navré de jouer les rabats-joie, mais les 2 propositions de Ryle,
- même si elles fonctionnent - sont loin d'être optimales. [-X

L'écriture à utiliser est bien celle indiquée par Cyrano. :pouce:

mistral
Invité n'ayant pas de compte PHPfrance

10 févr. 2006, 00:45

Non non, ce n'est pas jouer les rabat joie :) J'utilise la méthode de Cyrano, mais éventuellement, lorsque je suis amené à rester en PHP, j'utiliserai la méthode de Ryle pour garder un code source propre (exceptionnellement quoi).
Ca va comme ça ? (mdr, tant qu'a reprogrammer le site, autant le faire bien :))