Les variables d'environnement permettent de modifier dynamiquement les fonctionnalités de notre projet Symfony sans avoir à reconstruire et à redéployer notre projet web.
Nous créons un chargeur de variables de variables d'environnement avec la classe Symfony (DotEnv). Nous vérifions l'existence de la classe (DotEnv) avec la fonction (class_exists). Si la classe (DotEnv) existe, nous chargeons le fichier de définition des variables d'environnement par défaut de Symfony (.env) avec la méthode (loadEnv) de la classe (DotEnv). Si la classe (DotEnv) n'existe pas nous levons une exception avec la classe (RuntimeException).
Nous fournissons la possibilité de créer notre propre fichier personnalisé de définition des variables d'environnement (.rdv_env.local.php). Dans ce contexte, nous chargeons le contenu du fichier avec l'opérateur d'inclusion de fichier (include) suivi de l'opérateur de contrôle des erreurs (@) afin d'ignorer les messages d'erreur en cas de non présence du fichier personnalisé (.rdv_env.local.php). Nous définissons le fichier personnalisé (.rdv_env.local.php) de telle manière à ce qu'il retourne un tableau (array) contenant toutes nos variables d'environnement. Nous vérifions par la suite que le retour du fichier personnalisé (.rdv_env.local.php) est un tableau avec la méthode (is_array).
Une exception permet gérer les conditions exceptionnelles lors de l'exécution de notre projet. Lorsqu'une exception se produit, l'exécution normale de notre projet est interrompue et l'exception est traitée. La classe (Exception) est la classe de base de toutes les exceptions.
Une exception d'exécution (RuntimeException) est une exception que nous levons dans le cadre de notre projet pour des opérations qui devraient normalement fonctionner, mais qui finalement, se passent mal. Les exceptions d'exécution (RuntimeException) sont à privilégier que les exceptions génériques (Exception).