Documentation
Attribut Redirect
Table des matières ▼
Présentation
Cet attribut permet de forcer une redirection, empêchant systématiquement l'accès à un contrôleur ou une action. Cela peut être utile en période de débogage, ou pour désactiver temporairement l'accès à une portion de code.
Paramètres
L'attribut propose plusieurs paramètres :
- $url : (string) URL de redirection.
- $var : (string) Nom de la variable de template contenant l'URL de redirection.
Priorité
Pour définir l'URL vers laquelle l'utilisateur va être redirigé, l'attribut applique l'ordre de priorité suivant :
- Si le paramètre $url est défini, il est utilisé.
- Si le paramètre $var est défini, et qu'il contient le nom d'une variable de template qui existe et est non vide, le contenu de celle-ci est utilisé.
- Si le fichier temma.json contient une configuration étendue x-security, et que celle-ci contient une clé redirect, le contenu de celle-ci est utilisé.
Si aucune URL de redirection n'a été trouvée, une erreur 403 est retournée.
Configuration
Pour que tous les attributs Redirect redirigent vers la même URL, il suffit de la définir dans le fichier temma.json :
{
"x-security": {
"redirect": "/temporaryHomepage"
}
}
Pour que l'URL de redirection soit la même pour les attributs Auth, Method, Referer et Redirect, il suffit de définir la clé redirect dans la configuration étendue x-security du fichier temma.json :
{
"x-security": {
"redirect": "/login"
}
}
Exemples
use \Temma\Attributes\Redirect as TµRedirect;
// redirige tous les accès à ce contrôleur
// vers l'URL définie dans le fichier temma.json
#[TµRedirect]
class Login extends \Temma\Web\Controller {
// ...
}
use \Temma\Attributes\Redirect as TµRedirect;
class Homepage extends \Temma\Web\Controller {
// redirige vers la nouvelle page d'accueil
#[TµRedirect('/newHomepage')]
public function oldHome() { }
}
use \Temma\Attributes\Redirect as TµRedirect;
class Homepage extends \Temma\Web\Controller {
// initialisation du contrôleur : définition de
// la variable de template 'homeRedir'
public function __wakeup() {
$this['homeRedir'] = '/otherHomepage';
}
// redirige vers l'URL définie dans la variable
// de template 'homeRedir'
#[TµRedirect(var: 'homeRedir')]
public function action1() {
// ...
}
}
Précédent : | Helper attribut Referer |
Suivant : | Helper Smarty urlize |
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
- Scripts en ligne de commande
-
Contrôleur + plugin
- Auth : Contrôleur et plugin servant à gérer l'authentification des utilisateurs
- Plugins
- Attributs
-
Plugins Smarty
- urlize : Modificateur transformant un texte en URL
- filenamize : Modificateur transformant un texte en nom de fichier
- nbsp : Modificateur transformant des espaces en espaces non sécables
-
Objets utilitaires
- ANSI : Pour mettre en forme les textes écrits sur la sortie standard
- BaseConvert : Pour faire des conversions de bases numériques
- DataFilter : Pour filtrer et valider des données
- Email : Pour envoyer des emails
- HTMLCleaner : Pour nettoyer un flux HTML provenant d'un éditeur WYSIWYG
- IniExport : Pour exporter des données au format INI
- Json : Pour lire des flux JSON pouvant contenir des commentaires
- Lock : Pour verrouiller l'accès à un fichier, ou l'exécution du script PHP courant
- Registry : Pour stocker proprement des variables globales
- Smarty : Pour traiter des templates Smarty en dehors de la vue
- Term : Gestion des terminaux (TTY)
- Text : Différents traitements sur les chaînes de caractères
- Timer : Pour gérer des chronomètres