Déclarer une chaîne de caractères en PHP avec un bloc Heredoc / Nowdoc
Publié le 30/04/2022 • Actualisé le 30/04/2022
Dans ce bout de code, nous voyons comment déclarer une chaîne de caractères en PHP avec un bloc Heredoc et Nowdoc. Celui-ci est pour moi car j'oublie toujours comment faire ! Comme vous pouvez le constater, l'analyseur de synthaxe est perdu avec les guillemets simples permettant de déclarer le block Nowblock. En utilisant ce type de déclaration, toute la chaîne est stockée brute et les variables ne sont pas remplacées. Ça fonctionne aussi avec les constantes et les propriétés de classe.
<?php
declare(strict_types=1);
namespace App\Controller\Snippet;
/**
* J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
* Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
* ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
* Les services sont injectés dans le constructeur du contrôleur principal.
*/
trait Snippet200Trait
{
public function snippet200(): void
{
$name = 'COil';
$heredoc = <<<HEREDOC
Heredoc example
on multiple lines
my name is $name
HEREDOC;
echo $heredoc;
$nowdoc = <<<'NOWDOC'
Nowdoc example
on multiple lines
my name is $name <- the name variabled isn't replaced here !
"<<'/\'>>"
NOWDOC;
echo $nowdoc;
// That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Lire la doc Snippet aléatoire
A vous de jouer !
Ces articles vous ont été utiles ? Vous pouvez m'aider à votre tour de plusieurs manières : (cliquez sur le lien "reply" dans à droite pour me contacter )
- Me remonter des erreurs ou typos.
- Me remonter des choses qui pourraient être améliorées.
- Aimez et repostez !
- Suivez moi sur Bluesky 🦋
- Inscrivez-vous au flux RSS.
- Cliquez sur les boutons Plus sur Stackoverflow pour me faire gagner des badges "annonceur" 🏅.
Merci et à très bientôt sur Strangebuzz ! 😉
