Créer son jeu en PHP

Tout pour créer soit-même son jeu en PHP
 
AccueilAccueil  ­CalendrierCalendrier  ­FAQFAQ  ­RechercherRechercher  ­S'enregistrerS'enregistrer  ­MembresMembres  ­GroupesGroupes  ­ConnexionConnexion  
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Syntaxe "here document" de echo

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Sephi-Chan
Bavard


Nombre de messages: 44
Age: 20
Localisation: Yerres (91)
Date d'inscription: 27/03/2006

MessageSujet: Syntaxe "here document" de echo   Mer 12 Juil - 0:42

Salut à tous,

En feuilletant le manuel de PHP, je suis tombé (...) sur quelque chose de très intéressant...

Un doigt !!

...

Nan, j'déconne.

Code:

echo <<<END
Cette syntaxe s'intitule le "here document" et permet d'afficher plusieurs lignes avec de l'interpolation de variables. Notez que la fin de la syntaxe doit apparaître sur une nouvelle ligne, avec uniquement un point-virgule, et pas d'espace de plus !
END;

J'ai aussitot fais un test :
Code:

$chaine = "Ecoutez, laissez la police faire son travail, dès que j'aurais de plus amples informations croyez bien que vous en serez les premiers informés.";

echo <<<END
$chaine <br> strlen($chaine)
END;


Et ça me renvoi :
Citation:
Ecoutez, laissez la police faire son travail, dès que j'aurais de plus amples informations croyez bien que vous en serez les premiers informés.
strlen(Ecoutez, laissez la police faire son travail, dès que j'aurais de plus amples informations croyez bien que vous en serez les premiers informés.)


Je trouve cette façon de faire très pratique pour afficher les gros bloc pleins de variables qu'on retrouve souvent, notamment après une requête SQL.

Il est à noter ui est que les variables d'array ne passent pas sous la forme $plop['plop'], il faut enlever les guillements pour que ça fonctionne, pour avoir $plop[plop].

Exemple d'utilisation :

On peut remplacer :
Code:

echo '
<li><a href="index.php?p=transferts/achats_2&joueur='.$sql4['id'].'">Acheter '.$sql4['nom'].'</a>
<table><caption>'.$sql4['nom'].' - Niveau #'.$sql4['niveau'].'</caption>
<tr>
<th>Endurance</th><th>Vitesse</th><th>Résistance</th><th>Attaque</th>
</tr>
<tr>
<td>'.$sql4['endurance'].'</td><td>'.$sql4['vitesse'].'</td><td>'.$sql4['resistance'].'</td><td>'.$sql4['attaque'].'</td>
</tr>
<tr>
<td colspan="4">Salaire : '.$sql4['salaire'].' Gils par match</td>
</tr>
</table></li>';

Par :
Code:

echo <<<END
<li><a href="index.php?p=transferts/achats_2&joueur=$sql4[id]">Acheter $sql4[nom]</a>
<table><caption>$sql4[nom] - Niveau #$sql4'niveau]</caption>
<tr>
<th>Endurance</th><th>Vitesse</th><th>Résistance</th><th>Attaque</th>
</tr>
<tr>
<td>$sql4[endurance]</td><td>$sql4[vitesse]</td><td>$sql4[resistance]</td><td>$sql4[attaque]</td>
</tr>
<tr>
<td colspan="4">Salaire : $sql4[salaire] Gils par match</td>
</tr>
</table></li>
END;


N'est-ce pas plus lisible ?

J'éspère que ce post sera utile à quelques uns '.


Sephi-Chan

_________________
www.lordarkness.net
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lordarkness.net
naholyr
Langue pendue


Nombre de messages: 97
Date d'inscription: 08/06/2006

MessageSujet: Re: Syntaxe "here document" de echo   Mer 12 Juil - 8:36

Pour les tableaux (et les variables en général) pour éviter toute ambiguité lorsqu'elles sont incluses dans une chaine on peut les encadrer d'accolades {}.

Si on veut utiliser un caractère alphanumérique collé à la droite de la variable :
Code:
$chien = "chien";
Ne fonctionne pas : -->
Code:
echo "j'ai 3 $chiens.";
Citation:
j'ai 3 .
Fonctionne mais pas joli : -->
Code:
echo "j'ai 3 $chien"."s.";
Citation:
j'ai 3 chiens.
Fonctionne ET joli : -->
Code:
echo "j'ai 3 {$chien}s."
Citation:
j'ai 3 chiens.


Cela permet :
- d'isoler des variables (cf. exemple ci-dessus) : echo "début{$variable}fin"
- d'utiliser des tableaux sans ambiguité et avec les guillemets : echo "avant{$tableau['index']}après";

Et cela fonctionne avec la syntaxe heredoc.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

Syntaxe "here document" de echo

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Créer son jeu en PHP :: PROGRAMMATION :: Tutoriaux - scripts-
Poster un nouveau sujet   Répondre au sujet