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]&nbsp;[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

×