Documentation
Vues
Table des matières ▼
Présentation
La vue est la couche logicielle qui s'occupe de mettre en forme les données qui sont renvoyées par le serveur après les traitements.
Par défaut, Temma utilise le moteur de template Smarty, ce qui permet de générer très facilement des pages HTML à partir des données exportées par les contrôleurs.
Temma fournit aussi nativement une vue servant à générer des flux JSON, ce qui peut s'avérer très pratique dans le cadre de communications AJAX, ainsi que des vues offrant des exports CSV, RSS, INI et iCal.
Utilisation d'une vue avec template
Certaines vues utilisent des templates pour traiter les données et générer les flux sortants. Comme vu dans l'introduction, Temma va chercher un fichier dont le nom correspond à celui de l'action demandée (avec l'extension ".tpl"), placé dans un répertoire dont le nom est celui du contrôleur exécuté ; le tout placé dans le répertoire templates/ du projet.
Pour contourner ce comportement automatique, une action peut spécifier le template à utiliser :
class User extends \Temma\Web\Controller {
public function list($type=null) {
// traitements...
// redéfinition du template dans un cas particulier
if ($type == 'all')
$this->_template('user/listAll.tpl');
// dans les autres cas, le template sera "user/list.tpl"
}
}
Définition de la vue
Il est possible de spécifier la vue à utiliser, individuellement pour chaque action.
Voici un exemple d'action dont les données sont exportées au format JSON :
class User extends \Temma\Web\Controller {
public function get($id) {
// traitements...
// enregistrement des données qui vont être
// envoyées dans le flux JSON
$this->set('json', $data);
// définition de la vue à utiliser
$this->_view('\Temma\Views\Json');
}
}
Configuration de la vue par défaut
Vous avez la possibilité de changer la vue par défaut, en modifiant le fichier de configuration temma.json.
Par exemple, si vous créez un webservice, vous n'allez jamais envoyer du HTML, mais toujours du JSON. Vous voudrez alors utiliser la vue \Temma\Views\Json à la place de la vue Smarty habituelle, il faut ajouter la directive defaultView dans le fichier temma.json :
{
"application": {
// configuration habituelle (dsn, defaultController, ...)
// configuration de la vue par défaut
"defaultView": "\\Temma\\Views\\Json"
}
}
Précédent : | Contrôleurs |
Suivant : | Vue Smarty |
Table des matières
- Migration : Comment passer de Temma 1.x à la version 2
- Installation : Télécharger Temma et l'installer pour démarrer votre projet Web
- Configuration : Toutes les directives de configuration du fichier etc/temma.json et les variables d'environnement utilisables en option
- Bibliothèques externes : Comment utiliser des bibliothèques de fonctions externes
- Routage : Le système de routage par défaut de Temma, et le routage avancé
- Log : Utilisation du système de log, gestion par niveaux de criticité
- Contrôleurs : Pièces essentiels de votre application Web
- Vues : Templates Smarty ou exports JSON/CSV/RSS/iCal/INI
- Injection de dépendances : La colonne vertébrale de vos développements applicatifs
- Sessions : Extension des sessions utilisateurs gérées par PHP
- Sources de données : Pour gérer l'accès aux données de manière unifiée
- Modèle : Comment utiliser les DAO pour accéder aux bases de données
- Flux d'exécution : Comment gérer le flux d'exécution, entre les plugins et le contrôleur
- Plugins : Comment utiliser les plugins, et écrire les vôtres pour modulariser votre code
- Attributs : Comment filtrer l'accès aux contrôleurs et aux actions
- Interface en ligne de commande : Pour créer des scripts exécutables en ligne de commande, initialisés automatiquement par Temma
- Helpers : Objets proposés par Temma pour vous aider dans plusieurs circonstances