
Partager:
Diana est défenseur des développeurs chez Vonage. Elle aime manger des huîtres fraîches.
Comment utiliser les variables d'environnement PHP dans Laravel
Temps de lecture : 6 minutes
Cet article a été mis à jour en juillet 2025
Les variables d'environnement sont essentielles dans Laravel pour gérer les paramètres de configuration dans différents environnements (local, staging et production). Laravel stocke ces paramètres dans un fichier .env ce qui permet de conserver les données sensibles hors du contrôle de version. Cela garantit la flexibilité et la sécurité lors du déploiement des Applications.
Dans ce guide, nous allons vous montrer comment configurer et utiliser les variables d'environnement dans un environnement de développement dans ce cas, car les environnements de production et de mise à l'essai ont des fichiers .env qui doivent être gérés par une plateforme d'hébergement gérée telle que Platform.sh, Laravel Forgeou Laravel Cloud.
Configuration des variables d'environnement
Création et utilisation du.env Fichier
Laravel inclut un fichier .env.example par défaut. Pour commencer à utiliser les variables d'environnement, créez un nouveau fichier .env en copiant le fichier d'exemple :
Ensuite, ouvrez le fichier .env et définissez les paramètres de votre application :
APP_NAME=VonageVerifyApp
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost
VONAGE_API_KEY=your_api_key
VONAGE_API_SECRET=your_api_secretAprès avoir modifié le fichier .env il convient d'effacer le cache de configuration pour appliquer les modifications :
Accès aux variables d'environnement dans Laravel
L'utilisation de laenv() Aide
Laravel fournit une aide env() pour récupérer les variables d'environnement :
$apiKey = env('VONAGE_API_KEY');Important: N'utiliser env() uniquement dans les fichiers de configuration. Pour garder la logique de l'application propre et maintenable, récupérez les paramètres via l'aide de Laravel config() de Laravel. Ceci est d'autant plus important que Laravel met en cache le fichier des variables d'environnement, et n'invalide pas automatiquement le cache lorsqu'une variable change dans le fichier.
Utilisation des fichiers de configuration de Laravel
Les fichiers de configuration de Laravel (qui se trouvent dans le répertoire config/ ) sont la meilleure façon de gérer les paramètres de l'environnement. Le conteneur de service config de Laravel lit automatiquement chaque fichier dans le répertoire config. Ainsi, pour ajouter votre clé Vonage et votre secret API, créez un nouveau fichier dans config et nommez-le vonage.php. Cela devrait retourner un tableau avec votre clé et votre secret API.
Par exemple, dans config/services.phpvous pouvez faire référence à des variables d'environnement pour l'API Verify API de Vonage:
'vonage' => [
'api_key' => env('VONAGE_API_KEY'),
'api_secret' => env('VONAGE_API_SECRET'),
],Pour récupérer ces valeurs dans votre application, utilisez :
$apiKey = config('vonage.api_key');
$apiSecret = config('vonage.api_secret'); Utilisation de variables d'environnement dans l'API Verify
Les variables d'environnement étant correctement configurées, vous pouvez maintenant intégrer l'API Verify de Vonage dans votre application Laravel. Nous vous montrerons comment le faire manuellement, mais lors de la construction de votre application, vous voudrez probablement écrire un service qui démarre automatiquement votre application dans le conteneur de service. Vous pouvez en savoir plus sur la façon de procéder dans la documentation Laravel.
Exemple : Envoi d'une demande de vérification
use Vonage\Client;
use Vonage\Client\Credentials\Basic;
use Vonage\Verify2\Request\SMSRequest;
$apiKey = config('vonage.api_key');
$apiSecret = config('vonage.api_secret');
$credentials = new Basic($apiKey, $apiSecret);
$client = new Client($credentials);
$verification = new SmsRequest('+14155550123', 'acme-company');
$response = $client->verify()->start($verification);
echo "Request ID: " . $response->getRequestId(); Exemple : Vérification d'un code de vérification
$requestId = 'VERIFY_REQUEST_ID';
$code = 'VONAGE_VERIFY_CODE; // Code entered by the user
try {
$response = $client->verify2()->check($requestId, $code);
echo $response;} catch ($exception) {
echo $exception->getMessage();
} Configuration des paramètres spécifiques à l'environnement
Laravel vous permet de personnaliser les paramètres pour différents environnements. Par exemple, dans config/logging.phpvous pouvez définir différents niveaux de log en fonction de l'environnement. Le deuxième argument de la fonction d'aide env() est la valeur par défaut, alors assurez-vous de savoir où vous le définissez :
'log_level' => env('LOG_LEVEL', 'debug'),Définissez le niveau de journalisation dans vos .env fichiers :
LOG_LEVEL=debug # Local Development
LOG_LEVEL=error # ProductionCette approche vous permet de modifier le comportement de l'application sans changer le code.
Amélioration des performances grâce à la mise en cache de la configuration
Pour les environnements de production, mettez en cache vos paramètres de configuration pour améliorer les performances :
php artisan config:cacheAprès l'exécution de cette commande, Laravel arrête de lire le fichier .env et utilise la configuration mise en cache à la place. Si vous apportez des modifications à .enveffacez le cache avant de les appliquer :
php artisan config:clear Meilleures pratiques en matière de sécurité
Pour assurer la sécurité des données sensibles, suivez ces bonnes pratiques :
Ne validez jamais votre fichier
.envajoutez-le à.gitignore.Utilisez des fichiers d'environnement distincts pour la version locale, la version d'essai et la version de production.
Ne jamais coder en dur des clés ou des secrets d'API dans le code de votre application.
Utiliser
config()au lieu deenv()dans la logique de l'application pour éviter les problèmes liés à la mise en cache de la configuration.Envisagez des outils de gestion des secrets comme AWS Secrets Manager, HashiCorp Vault, ou la gestion de l'environnement Docker/Kubernetes pour la sécurité de la production.
Dépannage des variables d'environnement
Si vos variables d'environnement ne se chargent pas correctement, essayez de les effacer et de les remettre en cache :
php artisan config:clear
php artisan config:cache Conclusion
Et c'est tout ! L'utilisation de variables d'environnement dans Laravel permet de gérer efficacement les paramètres de configuration tout en sécurisant les données sensibles.
Vous avez une question ou souhaitez partager ce que vous construisez ?
Rejoignez la conversation sur le Communauté Vonage Slack
S'abonner à la Bulletin d'information du développeur
Suivez-nous sur X (anciennement Twitter) pour les mises à jour
Regardez les tutoriels sur notre chaîne YouTube
Connectez-vous avec nous sur la page Vonage Developer sur LinkedIn
Restez connecté et tenez-vous au courant des dernières nouvelles, astuces et événements concernant les développeurs.