13.9.3 Layout::set()
La méthode set()
permet de spécifier les valeurs des balises (e.g. [TAG]
)
du template.
13.9.3.1 Description
void set ( string $tag, string $val )
13.9.3.1.1 Avertissements
Les valeurs ne sont pas encodées. Si vous avez un template HTML, il faut utiliser la méthode eSet pour encoder les valeurs si ce n'est pas un fragment HTML.
Si la valeur contient une référence à une zone, (exemple : "[ZONE
MY:MYZONE]
"), la zone sera interprétée au contrainte de la méthode
eSet
.
13.9.3.2 Liste des paramètres
- (string)
tag
- Le nom de la balise à affecter. Le nom de la balise est spécifié sans les
crochets ouvrant (
[
) et fermant (]
). - (string)
val
- La valeur à affecter à la balise.
13.9.3.3 Valeur de retour
Aucune.
13.9.3.4 Erreurs / Exceptions
Aucune.
13.9.3.5 Historique
Aucun.
13.9.3.6 Exemples
- Exemple #1
Fichier de template FOO/Layout/bar.xml
:
<div> <p>Bonjour [NOM] [PRENOM],</p> <p>La température est actuellement de [TEMPC]°C.</p> </div>
Contrôleur :
$nom = "Doe"; $prenom = "John"; $tempC = "20"; $layout->set("NOM", htmlspecialchars($nom)); $layout->set("PRENOM", htmlspecialchars($prenom)); $layout->set("TEMPC", sprintf("%02d",$temp)); print $layout->gen();
13.9.3.7 Notes
Pour se prémunir de toute attaque du type XSS (Cross-site scripting) il vous faudra potentiellement échapper les valeurs en fonction du contexte dans lesquelles elles seront utilisés.
Par exemple, pour un fragment (ou un document) HTML il vous faudra utiliser la
la méthode eSet()
ou la fonction PHP
htmlspecialchars()
afin d'échapper les caractères qui
pourraient être utilisés pour injecter du code HTML (ou JavaScript) dans le
résultat du template.
13.9.3.8 Voir aussi
- Méthode
Layout::setBlockData()
- Méthode
Layout::eSet()