👨🏽🔧 Configuration
Introduction
Dans Bow Framework, tous les fichiers de configuration sont centralisés dans le dossier config. Chaque fichier est bien documenté, ce qui vous permet de comprendre facilement les options disponibles et de les adapter à vos besoins.
Configuration
Bow fournit un helper pratique nommé config pour accéder et modifier les options de configuration. Ce helper utilise un système de notation à point qui simplifie la navigation dans les fichiers de configuration.
Récupérer une valeur
Voici comment récupérer une valeur d'un fichier de configuration :
echo config('app.public_path');
Modifier une valeur
Vous pouvez aussi modifier une valeur directement dans le code :
config('view.engine', 'twig');
config('view.extension', '.twig');
Explication de la notation à point
La notation à point permet d'accéder facilement aux valeurs dans les fichiers de configuration. Le premier segment de la notation correspond au nom du fichier, et les segments suivants accèdent aux clés ou sous-clés d'un tableau.
Exemple
Supposons que vous ayez un fichier bow.php avec le contenu suivant :
return [
'name' => 'Bow',
'skill' => [
'level' => 'easiest',
'orm' => true,
'preset' => [
'reactjs', 'vue'
]
]
];
Avec config, vous pouvez accéder aux différentes valeurs :
config('bow.name'); // Retourne "Bow"
config('bow'); // Retourne tout le tableau
config('bow.skill.orm'); // Retourne true
config('bow.skill.preset.0'); // Retourne "reactjs"
Le premier segment de la notation correspond toujours au nom du fichier de configuration (dans cet exemple, bow).
Fichier .env.json
Pour adapter votre application à différents environnements (développement, production, etc.), Bow utilise un fichier de configuration spécifique : .env.json. Ce fichier contient des paramètres sensibles ou variables selon l'environnement, comme les clés d'API ou les paramètres de base de données.
Pourquoi utiliser .env.json ?
- Sécurité : Ce fichier ne doit pas être versionné pour éviter d'exposer des informations sensibles.
- Flexibilité : Chaque développeur ou serveur peut avoir une configuration personnalisée.
Ajoutez .env.json dans votre fichier .gitignore pour ne jamais le versionner. Cela évite d'exposer vos clés secrètes et mots de passe.
Pour aider les nouveaux développeurs, vous pouvez créer un fichier de base .env.example.json qui servira de modèle pour configurer leur propre environnement.
Notez que vous pouvez utiliser aussi le fichier traditionnel .env si vous le souhaitez. Bow supporte les deux formats.
Récupérer des informations depuis .env.json
Toutes les variables définies dans .env.json sont automatiquement chargées lorsque l'application est exécutée. Pour y accéder dans vos fichiers de configuration, utilisez le helper app_env.
Exemple simple
'database' => app_env('DB_HOSTNAME'),
Si la variable n'est pas définie, app_env retournera null. Vous pouvez également fournir une valeur par défaut :
'database' => app_env('DB_HOSTNAME', 'localhost'),
Utilisation de valeurs imbriquées
Le fichier .env.json supporte des objets imbriqués. Voici un exemple :
{
"WEBHOOK_GATEWAY": {
"VISA": "http://localhost:8080/execute-visa-webhook",
"MASTERCARD": "http://localhost:8080/execute-mastercard-webhook"
}
}
Pour accéder à ces valeurs :
echo app_env('WEBHOOK_GATEWAY.VISA');
// Retourne : http://localhost:8080/execute-visa-webhook
Réutiliser des variables
Vous pouvez réutiliser une variable déjà définie dans le fichier .env.json avec la syntaxe ${KEY} :
{
"BASE_URL": "http://localhost:8080",
"WEBHOOK_GATEWAY": {
"VISA": "${BASE_URL}/execute-visa-webhook",
"MASTERCARD": "${BASE_URL}/execute-mastercard-webhook"
}
}
Ici, ${BASE_URL} fait référence à la variable définie précédemment.
Cela permet de centraliser certaines valeurs pour plus de cohérence :
echo app_env('WEBHOOK_GATEWAY.VISA');
// Retourne : http://localhost:8080/execute-visa-webhook
Helpers personnalisés
Bow inclut de nombreuses fonctions PHP pratiques appelées "helpers". Ces fonctions sont utilisées par le framework pour simplifier les opérations courantes. Vous pouvez également les utiliser dans vos projets.
Ajouter vos propres helpers
Dans le fichier config/helpers.php, vous trouverez des helpers supplémentaires qui ne sont pas directement intégrés au framework. Vous pouvez modifier ce fichier pour y ajouter vos propres fonctions personnalisées afin de répondre aux besoins spécifiques de votre application.
<?php
if (!function_exists('format_price')) {
function format_price(float $price): string
{
return number_format($price, 2, ',', ' ') . ' €';
}
}
Consultez la documentation des helpers pour découvrir toutes les fonctions disponibles dans Bow Framework.
Il manque quelque chose ?
Si vous rencontrez des problèmes avec la documentation ou si vous avez des suggestions pour améliorer la documentation ou le projet en général, veuillez déposer une issue pour nous, ou envoyer un tweet mentionnant le compte Twitter @bowframework ou sur directement sur le github.