Les chaînes de caractères sont certainement
les types de variables les plus utilisées au sein de
PHP : affichage, traitement concaténation, analyse...
Peu de scripts peuvent se targuer de ne pas au moins signaler
à l'utilisateur ce qu'il fait.
De fait, de par eur usage intensif des chaînes,
voici quelques conseils qui pourraient profiter aux scripts
lourds ou en faisant fortement l'usage, afin d'améliorer
leur performance.
1)
Utiliser les apostrophes (')
plutôt que les guillemets (")
:
C'est l'une des règles de l'art de la gestion des chaînes,
mais elle mérite d'être rappelée : il
est plus rapide pour le serveur de traiter $nom='Xavier'
que $nom="Xavier",
simple parce que l'usage des guillemets lui indique qu'il
doit convertir en sa valeur toute variable contenue par la
chaîne. En revanche, l'encadrement d'une chaîne
par deux apostrophes indique au serveur qu'elle est "brute",
sans variable à traiter.
Ajoutons que lorsque la chaîne en question contient
des balises HTML avec attributs, les guillemets de ces derniers
deviennent plus faciles à gérer :
$chaine = <a href="bidule.php">bidule!</a>''.
2) Utiliser des virgules avec echo
: pour ceux préférant sortir les variables des
chaînes plutôt que de les laisser traiter par
l'encadrement de guillemets, il est préférable
d'utilise les virgules de echo
plutôt que de concaténer texte et variable.
Concatenation : echo 'Je m'appelle
' .$prenom. ' ' .$nom. '.';
Virgules : echo 'Je m'appelle ',
$prenom, ' ', $nom, '.';
La raison est simple : la concaténation crée
en mémoire une nouvelle chaîne, tandis que la
virgule, une spécificité peu connue de echo,
affichera simplement les valeurs les unes derrières
les autres, évitant cette duplication en mémoire...
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
3) Utiliser la syntaxe heredoc : cette syntaxe,
en provenance du monde Perl, permet de définir des
chaînes occupant plusieurs lignes. Elle se comporte
avec la chaîne de la même manière que si
elle était entourée de guillemets, mais ne nécessite
pas d'échappement si la chaîne contient elle-même
des guillemets :
$chaine = <<<HTML
Visitez notre site :
<a href="$url">$nom</a>
Entrée gratuite!
HTML;
|