Documentation
Attributs
Table des matières ▼
Présentation
Temma propose des attributs PHP dont l'utilisation est complètement optionnelle, et qui permettent de contrôler l'accès aux contrôleurs et aux actions.
Ces attributs sont cumulables, il est possible de mettre plusieurs attributs différents (et parfois plusieurs fois le même attribut, avec des paramètres différents) sur le même contrôleur ou la même action.
De plus, vous avez la possibilité de créer vos propres attributs, qui pourront gérer les accès aux contrôleurs et aux actions.
Attributs proposés par Temma
Temma fournit plusieurs attributs, dont la documentation est accessible dans la section "Helpers" :
Écrire vos propres attributs
Vous pouvez créer des attributs qui pourront gérer de manière fine les accès aux contrôleurs et aux actions.
Héritage
Vos attributs doivent dériver de l'objet \Temma\Web\Attribute, qui offre plusieurs fonctionnalités relativement similaires à celles des contrôleurs :
-
L'accès aux variables de templates par la notion à crochet.
Par exemple :- $this['var'] = 'value'; pour définir une variable
- $var = $this['var']; pour lire la valeur d'une variable.
-
L'accès aux sources de données sous forme de propriétés directes de l'objet.
Par exemple : $this->db pour accéder à une base de données nommée db. -
Les méthodes $this->_httpCode() et $this->_httpError()
pour définir le code HTTP de retour, ou le code d'erreur HTTP.
Les méthodes $this->_getHttpCode() et $this->_getHttpError() pour récupérer le code HTTP préalablement défini. - Les méthodes $this->_redirect() et $this->_redirect301() pour définir des ordres de redirection.
- Les méthodes $this->_view() pour définir la vue, $this->_template() pour définir le template, et $this->_templatePrefix() pour définir le préfixe de template.
Flux d'exécution
Pour modifier le flux d'exécution, un attribut doit lever une exception spécifique :
- \Temma\Exceptions\FlowHalt : Arrête le flux d'exécution. Aucun autre plugin ou contrôleur ne sera exécuté, et le framework passe directement au traitement de la vue ou de la redirection.
- \Temma\Exceptions\FlowRestart : Relance le traitement de la phase (pré-plugins, contrôleur ou post-plugins) en cours.
- \Temma\Exceptions\FlowReboot : Relance toute la chaîne de traitements (pré-plugins + contrôleur + post-plugins).
- \Temma\Exceptions\FlowQuit : Arrête l'exécution du framework. Aucun autre plugin ou contrôleur ne sera exécuté. La vue ne sera pas exécutée et les demandes de redirection ne sont pas prises en compte.
Précédent : | Plugins |
Suivant : | Interface en ligne de commande |
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
- Tests : Pour écrire des tests d'intégration automatisés.
- 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