2010-10-21 15 views
0

Quelle est la meilleure façon d'échapper des données de modèles ou de contrôleurs pour les afficher facilement et en toute sécurité dans les vues. Il semble plutôt exagéré d'utiliser html :: specialchars ($ varname) pour chaque variable de données. Cela peut également causer des problèmes si un programmeur oublie d'échapper des données.Comment puis-je échapper automatiquement des données dans les vues avec Kohana 2 ou KO3

J'ai également rencontré des problèmes d'échappement d'objets ORM dans les boucles.

Répondre

0

Une façon d'y arriver est d'utiliser un moteur de template comme Twig pour les vues. (Voir le module KO3 http://github.com/ThePixelDeveloper/kohana-twig)

Ensuite, il vous suffit de charger l'extension escaper:

Twig_Extension_Escaper: Ajoute output-escaping automatique et la possibilité d'échapper/blocs unescape de code.

Ref .: http://www.twig-project.org/book/03-Twig-for-Developers

+0

Existe-t-il un moyen de le faire directement à partir du modèle? – Andres

1

J'ai écrit le gimpe du module Twig a suggéré et par défaut, il échappe automatiquement toutes les données. Vous pouvez également regarder dans Kostache. C'est un système de vue basé sur la classe qui fait l'échappement automatique.

En ce qui concerne votre commentaire:

Est-il possible de le faire directement à partir du modèle

Vous ne voulez pas échapper aux données ici parce que le HTML a échappé des données n'a pas de sens dans tous les formats de sortie, par exemple: JSON et XML.

Faire l'échappement au niveau de la vue.