Configuration
Aperçu
Flight fournit un moyen simple de configurer divers aspects du framework pour répondre aux besoins de votre application. Certains sont définis par défaut, mais vous pouvez les remplacer au besoin. Vous pouvez également définir vos propres variables pour les utiliser dans toute votre application.
Comprendre
Vous pouvez personnaliser certains comportements de Flight en définissant des valeurs de configuration
via la méthode set
.
Flight::set('flight.log_errors', true);
Dans le fichier app/config/config.php
, vous pouvez voir toutes les variables de configuration par défaut disponibles.
Utilisation de base
Options de configuration Flight
Voici une liste de toutes les options de configuration disponibles :
- flight.base_url
?string
- Remplacer l'URL de base de la requête si Flight s'exécute dans un sous-répertoire. (par défaut : null) - flight.case_sensitive
bool
- Correspondance sensible à la casse pour les URL. (par défaut : false) - flight.handle_errors
bool
- Permettre à Flight de gérer toutes les erreurs en interne. (par défaut : true)- Si vous voulez que Flight gère les erreurs au lieu du comportement par défaut de PHP, cela doit être true.
- Si vous avez Tracy installé, vous voulez définir cela à false pour que Tracy puisse gérer les erreurs.
- Si vous avez le plugin APM installé, vous voulez définir cela à true pour que l'APM puisse journaliser les erreurs.
- flight.log_errors
bool
- Journaliser les erreurs dans le fichier de journal des erreurs du serveur web. (par défaut : false)- Si vous avez Tracy installé, Tracy journalisera les erreurs en fonction des configurations de Tracy, pas de cette configuration.
- flight.views.path
string
- Répertoire contenant les fichiers de modèle de vue. (par défaut : ./views) - flight.views.extension
string
- Extension des fichiers de modèle de vue. (par défaut : .php) - flight.content_length
bool
- Définir l'en-têteContent-Length
. (par défaut : true)- Si vous utilisez Tracy, cela doit être défini à false pour que Tracy puisse s'afficher correctement.
- flight.v2.output_buffering
bool
- Utiliser le tamponnage de sortie legacy. Voir migration vers v3. (par défaut : false)
Configuration du chargeur
Il y a en outre une autre option de configuration pour le chargeur. Cela vous permettra
de charger automatiquement les classes avec _
dans le nom de la classe.
// Activer le chargement de classes avec des underscores
// Par défaut true
Loader::$v2ClassLoading = false;
Variables
Flight vous permet de sauvegarder des variables pour qu'elles puissent être utilisées n'importe où dans votre application.
// Sauvegarder votre variable
Flight::set('id', 123);
// Ailleurs dans votre application
$id = Flight::get('id');
Pour voir si une variable a été définie, vous pouvez faire :
if (Flight::has('id')) {
// Faire quelque chose
}
Vous pouvez effacer une variable en faisant :
// Efface la variable id
Flight::clear('id');
// Efface toutes les variables
Flight::clear();
Note : Le fait que vous puissiez définir une variable ne signifie pas que vous devriez le faire. Utilisez cette fonctionnalité avec parcimonie. La raison est que tout ce qui est stocké ici devient une variable globale. Les variables globales sont mauvaises car elles peuvent être modifiées de n'importe où dans votre application, rendant difficile la traque des bugs. De plus, cela peut compliquer des choses comme les tests unitaires.
Erreurs et exceptions
Toutes les erreurs et exceptions sont capturées par Flight et passées à la méthode error
.
si flight.handle_errors
est défini à true.
Le comportement par défaut est d'envoyer une réponse générique HTTP 500 Internal Server Error
avec des informations d'erreur.
Vous pouvez remplacer ce comportement pour vos propres besoins :
Flight::map('error', function (Throwable $error) {
// Gérer l'erreur
echo $error->getTraceAsString();
});
Par défaut, les erreurs ne sont pas journalisées sur le serveur web. Vous pouvez activer cela en modifiant la configuration :
Flight::set('flight.log_errors', true);
404 Non trouvé
Quand une URL ne peut pas être trouvée, Flight appelle la méthode notFound
. Le comportement
par défaut est d'envoyer une réponse HTTP 404 Not Found
avec un message simple.
Vous pouvez remplacer ce comportement pour vos propres besoins :
Flight::map('notFound', function () {
// Gérer non trouvé
});
Voir aussi
- Étendre Flight - Comment étendre et personnaliser les fonctionnalités de base de Flight.
- Tests unitaires - Comment écrire des tests unitaires pour votre application Flight.
- Tracy - Un plugin pour la gestion avancée des erreurs et le débogage.
- Extensions Tracy - Extensions pour intégrer Tracy avec Flight.
- APM - Un plugin pour la surveillance des performances de l'application et le suivi des erreurs.
Dépannage
- Si vous avez des problèmes pour trouver toutes les valeurs de votre configuration, vous pouvez faire
var_dump(Flight::get());
Journal des modifications
- v3.5.0 - Ajout de la configuration pour
flight.v2.output_buffering
pour supporter le comportement de tamponnage de sortie legacy. - v2.0 - Configurations de base ajoutées.