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
Code : Tout sélectionner
'
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
Code : Tout sélectionner
"
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 '
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
=> \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\nou
$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"
- 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.