|
| 1 | +--- |
| 2 | +id: configuration |
| 3 | +title: "👨🏽🔧 App Configuration" |
| 4 | +--- |
| 5 | + |
| 6 | +import SuggestionFeature from "@site/src/components/Partials/SuggestionFeature"; |
| 7 | + |
| 8 | +- [Introduction](#introduction) |
| 9 | +- [Configuration](#configuration) |
| 10 | + - [Explication de la notation à point](#explication-de-la-notation-à-point) |
| 11 | + - [Fichier .env.json](#fichier-envjson) |
| 12 | + - [Récupération des informations](#récupération-des-informations) |
| 13 | +- [Helpers](#helpers) |
| 14 | +- [Il manque quelque chose ?](#il-manque-quelque-chose-) |
| 15 | + |
| 16 | +## Introduction |
| 17 | + |
| 18 | +Tous les fichiers de configuration de Bow Framework sont stockés dans le dossier `config`. Chaque option est documentée, alors n'hésitez pas à parcourir les fichiers et à vous familiariser avec les options à votre disposition. |
| 19 | + |
| 20 | +## Configuration |
| 21 | + |
| 22 | +Vous pouvez accéder et modifier la configuration avec le helper `config`. L'accès aux valeurs se fait via un système de [notation à point](#explication-de-la-notation-a-point) (Dot notation). |
| 23 | + |
| 24 | +Récupération d'une valeur: |
| 25 | + |
| 26 | +```php |
| 27 | +echo config('app.public_path') |
| 28 | +``` |
| 29 | + |
| 30 | +Modification d'une valeur: |
| 31 | + |
| 32 | +```php |
| 33 | +config('view.engine', 'twig'); |
| 34 | +config('view.extension', '.twig'); |
| 35 | +``` |
| 36 | + |
| 37 | +### Explication de la notation à point |
| 38 | + |
| 39 | +Dans une notation à point, la partie avant le premier point représente le nom du fichier et toutes les valeurs suivantes |
| 40 | +représentent des clés ou valeurs du tableau de configuration. |
| 41 | + |
| 42 | +Imaginez qu'on a un tableau défini comme suit et qui est dans un fichier dont le nom est `bow.php`: |
| 43 | + |
| 44 | +```php |
| 45 | +return [ |
| 46 | + 'name' => 'Bow', |
| 47 | + 'skill' => [ |
| 48 | + 'level' => 'easiest', |
| 49 | + 'orm' => true, |
| 50 | + 'preset' => [ |
| 51 | + 'reactjs', 'vue' |
| 52 | + ] |
| 53 | + ] |
| 54 | +]; |
| 55 | +``` |
| 56 | + |
| 57 | +Avec `config` nous allons voir comment avoir accès à ces valeurs. |
| 58 | + |
| 59 | +```php |
| 60 | +config('bow.name'); // Bow |
| 61 | +config('bow'); // Retourne le tableau entier |
| 62 | +config('bow.skill.orm') // true |
| 63 | +config('bow.skill.preset.0') // reactjs |
| 64 | +``` |
| 65 | + |
| 66 | +> Remarquez qu'en premier c'est le nom du fichier qui contient la configuration, ici `bow.` |
| 67 | +
|
| 68 | +### Fichier .env.json |
| 69 | + |
| 70 | +Il est souvent souhaitable d'avoir différentes valeurs de configuration selon l'environnement ou notre application est lancée. Par exemple, l'on |
| 71 | +peut vouloir activer des logs de débogage en développement mais pas en production. |
| 72 | + |
| 73 | +Pour cela Bow utilise le fichier `.env.json` fichier dans lequel sont définis les informations concernant la configuration de votre application au format JSON. C'est aussi l'endroit idéal pour définir les informations sensibles comme une clé d'accès à un service. |
| 74 | + |
| 75 | +Votre fichier `.env.json` ne doit pas sous contrôle de version, parce que chaque développeur/serveur utilisant votre application peut nécessiter une configuration d'environnement différente. De plus cela constituerait aussi un risque de sécurité dans le cas où un intrus aurait accès à votre depot de code source, parce que toutes les informations d'identification sensibles seraient exposées. |
| 76 | + |
| 77 | +> Le fichier `.env.example.json` sert de base pour la création du fichier `.env.json`. |
| 78 | +
|
| 79 | +### Récupération des informations |
| 80 | + |
| 81 | +Toutes les variables répertoriées dans le fichier `.env.json` seront chargées lorsque votre application recevra une requête. Cependant, vous pouvez utiliser le helper `app_env` pour récupérer les valeurs de ces variables dans les fichiers de configuration. En fait, si vous examinez les fichiers de configuration de Bow, vous remarquerez plusieurs des options utilisant déjà cet helper: |
| 82 | + |
| 83 | +```php |
| 84 | +'database' => app_env('DB_HOSTNAME'), |
| 85 | +``` |
| 86 | + |
| 87 | +Dans le cas où la variable n'est pas définie `app_env` retournera `null`, ou bien vous pouvez passer un deuxième paramètre à `app_env` qui sera la valeur par défaut si la valeur n'est pas trouvé. |
| 88 | + |
| 89 | +```php |
| 90 | +'database' => app_env('DB_HOSTNAME', 'localhost'), |
| 91 | +``` |
| 92 | + |
| 93 | +## Helpers |
| 94 | + |
| 95 | +Bow inclut une variété de fonctions PHP "d'assistance" globales. Beaucoup de ces fonctions sont utilisées par le Framework lui-même; Cependant, vous êtes libre de les utiliser dans vos propres applications si vous les trouvez pratiques. |
| 96 | + |
| 97 | +Notez que dans le fichier `config/helpers.php` il y a aussi des helpers, mais cela ne sont pas utiliser dans le Framework. Vous pouvez définir aussi vos helpers dans ce fichier. |
| 98 | + |
| 99 | +<SuggestionFeature /> |
0 commit comments