Configuration
Introduction​
Tous les fichiers de configuration de Bow Framework sont centralisés dans le dossier config/. Chaque fichier est documenté pour faciliter la personnalisation.
Accéder à la configuration​
Récupérer une valeur​
// Récupérer une valeur (retourne null si absente)
$appName = config('app.name');
// Récupérer tout un fichier
$appConfig = config('app');
config()Contrairement à app_env(), le helper config() n'a pas de paramètre
« valeur par défaut ». Passer un second argument écrit la valeur dans la
configuration (voir « Modifier une valeur »). Pour appliquer un fallback,
utilisez ?? :
$timezone = config('app.timezone') ?? 'UTC';
Modifier une valeur​
Le second argument de config() est un setter : il écrit la valeur dans
la configuration en mémoire pour la durée de la requête.
config('view.engine', 'twig');
config('view.extension', '.twig');
Notation à point​
La notation Ă point navigue dans les fichiers de configuration :
- Premier segment = nom du fichier
- Segments suivants = clés imbriquées
return [
'name' => 'Mon Application',
'settings' => [
'debug' => true,
'cache' => [
'driver' => 'file',
'ttl' => 3600
]
]
];
config('app.name'); // "Mon Application"
config('app.settings.debug'); // true
config('app.settings.cache.driver'); // "file"
config('app.settings.cache.ttl'); // 3600
Variables d'environnement​
Fichier .env.json​
Bow utilise .env.json pour les paramètres sensibles et variables selon l'environnement :
{
"APP_NAME": "Mon Application",
"APP_ENV": "development",
"APP_DEBUG": true,
"DB_CONNECTION": "mysql",
"DB_HOST": "localhost",
"DB_PORT": 3306,
"DB_DATABASE": "app_db",
"DB_USERNAME": "root",
"DB_PASSWORD": "secret",
"MAIL_HOST": "smtp.example.com",
"MAIL_PORT": 587,
"MAIL_USERNAME": "user@example.com",
"MAIL_PASSWORD": "password"
}
Ajoutez .env.json dans .gitignore pour ne jamais versionner vos secrets. Créez un .env.example.json comme modèle.