Oyé Oyé,
J'aurai voulu avoir quelques précisions sur l'utilisation des tags permettant d'écrire du texte sur plusieurs lignes sans porter attention aux divers " ou '.
En effet, à la place du 'echo' j'ai pour habitude d'utiliser des choses de ce genre là :
La chose dont je suis sûr c'est que EOF peut être remplacer par n'importe quelle valeur en majuscule (sans espace). Le tag de fin (ici EOF;) doit être en début de ligne sans aucun espace devant (ni derrière ?).
Les avantages de cette méthode sont multiples :
- Les variables PHP peuvent être directement utilisées
- Il est possible d'indenter son code html comme on veut
- Nul besoin de s'ennuyer pendant des heures avec les " ou ' ou \' etc...
Jusque là tout va bien. Le problème est que je suis en train de tester une nouvelle manière d'utiliser ce genre de tag et cela ne marche pas
Voici ce que je cherche à faire :
En procédant ainsi, pratiquement tout le code HTML est bien interprété sauf que mon navigateur affiche également :
EOF;echo'toto';.=<<<
Je ne comprends vraiment pas car j'ai retrouvé d'anciens projets où j'ai réalisé des lignes de codes similaires, exemple :
Et cela marchait très bien !
Des idées ?
Modifié par Bistou (18 Apr 2008 - 15:03)
J'aurai voulu avoir quelques précisions sur l'utilisation des tags permettant d'écrire du texte sur plusieurs lignes sans porter attention aux divers " ou '.
En effet, à la place du 'echo' j'ai pour habitude d'utiliser des choses de ce genre là :
$HTML=EOF<<<
<div id="toto">
$variablePHP
...
</div>
EOF;
La chose dont je suis sûr c'est que EOF peut être remplacer par n'importe quelle valeur en majuscule (sans espace). Le tag de fin (ici EOF;) doit être en début de ligne sans aucun espace devant (ni derrière ?).
Les avantages de cette méthode sont multiples :
- Les variables PHP peuvent être directement utilisées
- Il est possible d'indenter son code html comme on veut
- Nul besoin de s'ennuyer pendant des heures avec les " ou ' ou \' etc...
Jusque là tout va bien. Le problème est que je suis en train de tester une nouvelle manière d'utiliser ce genre de tag et cela ne marche pas

Voici ce que je cherche à faire :
$this->HTML=<<<EOF
<html>
code html ....
EOF;
echo 'toto';
$this->HTML.=<<<EOF
suite du code html
...
EOF;
En procédant ainsi, pratiquement tout le code HTML est bien interprété sauf que mon navigateur affiche également :
EOF;echo'toto';.=<<<
Je ne comprends vraiment pas car j'ai retrouvé d'anciens projets où j'ai réalisé des lignes de codes similaires, exemple :
$HTML=<<<EOF
<body>
<div id="header">
EOF;
if($User->isLoggedIn()){
$HTML.=<<<EOF
Bienvenue, $User->prenom $User->nom
<a href="?p=deconnexion">déconnexion</a>
EOF;
/*
* etc...
*/
Et cela marchait très bien !

Modifié par Bistou (18 Apr 2008 - 15:03)