leçon 1 : maitrise du text

Avatar du membre
Eléphanteau du PHP | 41 Messages

05 juil. 2022, 10:38

leçon 1 : maitrise du text

En PHP comme dans beaucoup de langage il existe une forme de d'encapsulation qui indique à PHP que c'est du texte

I. La premier forme de cette indication de texte est utilisé avec les simple cote exemple :
echo ' c\'est un texte brute ne pouvant contenir des variables ou des caractère spéciaux';
- ici vous remarquerez que si à l'intérieur j'ai un simple cote qui s'invite je dois lui mettre un \ devant
pour annuler son analyse par PHP comme ça PHP ne se trompe pas du début à la fin il y aura un ensemble de caractère brute qui ne sera pas interpréter.

=> donc les simple cote sont exclusivement utilisé pour afficher du texte

Et je fais comment si j'ai des variables ?
Réponse:
En PHP ce qui importe en 2022 ce n'est plus la performance mais le facteur de lisibilité. vous allez comprendre.
j'ai une variable
$var = 'ou pas';
et je désire qu'elle soit ajouté à mon écho plus haut, j’obtiens cela :
$var = 'ou pas';
echo ' c\'est un texte brute ne pouvant contenir des variables ou des caractère spéciaux' . $var ;
ou (avec echo on peut aussi faire une variante de concaténation avec des virgules c'est normalement un peux plus rapide et par convention on l'utilise à la place des points toujours pareil pour une meilleur lisibilité )
$var = 'ou pas';
echo ' c\'est un texte brute ne pouvant contenir des variables ou des caractère spéciaux' , $var ;
- nous somme d'accord ça fonctionne, mais ! en PHP même si ça fonctionne il y a une réglementation à respecter.
du texte avec une variable on n'utilise pas de concaténation, enfin on évite le plus possible. Et on va l'écrire ainsi :
$var = 'ou pas';
echo "c'est un texte brute ne pouvant contenir des variables ou des caractère spéciaux $var";
- comme il n'y a plus de simple cote alors mon c\'est n'a plus besoin du \ et vous remarquerez
que la lisibilité est bien meilleur.

II . La second forme: en PHP on utilise donc les double cote pour du texte qui va contenir
1 - du texte
2 - des variables
3 - des caractères spéciaux qui ne sont pas sur votre clavier

exemple, je veux ajouter un saut de ligne :
$var = 'ou pas';
echo "c'est un texte brute ne pouvant contenir des variables ou des caractère spéciaux $var \r\n";
- dans un double cote il existe des caractères qui vont interpeler PHP et lui dire Attention ici il y a une signification spécial
et par exemple un $ indiquera à PHP que ici après le $ c'est une variable ou un \ qui lui a la différence de dans le simple cote ici précisément il indique nous allons utiliser un caractère spécial ou annuler le comportement d'un simple cote ou d'un double cote .
PHP en réalité n'annule pas le comportement le \ va appeler la forme pure de ce caractère et le transformer en texte ce qui va empêcher à PHP d'interpréter certain caractère. quand on réalise un \r ou \n c'est prédéfinit dans PHP ça lui dit va me trouvé dans le tableau des caractères le retour chariot pour \r et le saut de ligne pour le \n. quand je réalise \" il n'y a pas de référence autre que utilise le " comme un texte brute. on peut imaginer que l'on désactive le comportement de

Code : Tout sélectionner

" ou '
mais en réalité \ est là pour récupérer dans le tableau ascii le caractère que vous désirez.
Exemple je souhaite utilise le caractère espace sans faire appel à l'espace du clavier et bien il existe une solution avec \
:

Code : Tout sélectionner

\x32
et 32 est le code ascii du caractère espace. dans certain cas de figure c'est utilisé pour indiqué qu'il y a un espace à ne pas négliger là encore pour un souci de lecture.

=> \r\n en PHP vous avez deux possibilité d'utilisé le retour à la ligne. si vous êtes dans un contexte comme celui-ci :
$var = 'ou pas';
echo "c'est un texte brute ne pouvant contenir des variables ou des caractère spéciaux $var \r\n";
on utilise \r\n
ou
$var = 'ou pas';
echo "c'est un texte brute ne pouvant contenir des variables ou des caractère spéciaux $var", PHP_EOL;
si vous désirer faire plusieurs saut de ligne on utilise PHP_EOL.
$var = 'ou pas';
echo 'c\'est un texte brute' , PHP_EOL, 
'ne pouvant contenir des variables', PHP_EOL, 
"ou des caractère spéciaux $var", PHP_EOL;
remarquez que le seul texte qui contient des doubles cote est celui contenant une variable pourquoi ? pour indiqué qu'il y a une variable dans la lecture du visuel pour nous pour la personne qui prochainement va lire votre code intuitivement elle saura sans même voir la variable.

En résumer si je veux utilisé des variables et des caractères spéciaux j'utilise des double cotes sinon des simple cote.
et non on ne joue pas à faire comme on veut c'est pas du C et pas du JAVA.
et PHP_EOL c'est plus qu'une obligation il est spécifiquement adapter à PHP et là encore c'est un objectif de lecture utilisé
\r\n ça ne se fait presque plus. on ne les utilise que dans quelques cas de figure bien spécifique.

III. La troisième forme le HereDoc
cette méthode vous permet dans un certain contexte d'avoir là aussi une meilleur lisibilité et d'utilisé des variables et les doubles et simple cote sans problème.
exemple :
$var = 'ou pas';
echo <<<TEXTE
c'est un texte brute
ne pouvant contenir
des variables 
ou des caractère spéciaux entre double cote :
"$var"
TEXT;
ici le "ou pas" sera bien afficher et vous avez vue il y le simple cote de «c'est» et les double cote de «"$var"»

Code : Tout sélectionner

et nous aurons bien : c'est un texte brute ne pouvant contenir des variables ou des caractère spéciaux entre double cote : "ou pas"
d'afficher
- Le HereDoc est là pour du contenu complexe et offrir une grande lisibilité si vous avez du gros texte à afficher
- Le mot utilise <<<TEXTE c'est un label et vous pouvez mettre le label que vous voulez <<<MAISON
mais il doit y avoir le Label de fin MAISON;
et à savoir en PHP en dessous de 8 le LABEL de FIN doit impérativement être coller en début de ligne
alors qu'en PHP 8 il peut être décaler comme on le désire. don jamais de tabulation ou d'espace devant le Label de fin avec le Heredoc
en PHP 7, 5, 4 .

voili voila
en espérant que cela vous aide pour une premier leçon c'est déjà pas mal de chose à retenir. et
à expérimenter.