Hoe maak je een omgevingsvariabelen bestand zoals Laravel & Symphony’s .env

Heb je er ooit over nagedacht hoe je je web-applicaties kunt implementeren zonder dat je je Database Configuraties hoeft in te stellen met je server credentials voor de implementatie, of naar je server hoeft te gaan om de credentials aan te passen?

Als je bekend bent met PHP frameworks zoals Laravel en Symphony, dan zou je moeten weten over hun .env bestand. Het is waar je al je lokale variabelen instelt, variërend van database credentials tot mail-service credentials en wat je maar denkt dat eigen moet zijn aan de omgeving (Local/Development, Staging en Production).

Deze twee PHP-functies zijn het geheim achter Laravel’s .env-bestand. Zoals hun naam al doet vermoeden, wordt de ene gebruikt om omgevingsvariabelen putenv() in te stellen, terwijl de andere wordt gebruikt om de variabelen getenv() op te halen.

Je kunt hieronder meer over ze lezen:

http://php.net/manual/en/function.getenv.php
http://php.net/manual/en/function.putenv.php

HOE MOET IK ZE IN MIJN PROJECT IMPLEMENTEREN?

Het implementeren van deze functies is heel eenvoudig, en zoals je al raadde, ja!

Maak een env.example.php-bestand

Ik weet dat u zich afvraagt, wat is dat met die .example? Dit is het bestand dat u zult kopiëren en plakken als env.php. Onthoud dat het een bestand is dat eigen moet zijn aan zijn omgeving, dus, je voegt je env.php toe aan .gitignore. We komen daar later op terug.

Voor die tijd, zet je het onderstaande knipsel in je bestand.

Je kunt er meer variabelen aan toevoegen.

CREËER EEN autoload.php BESTAND

Afhankelijk van hoe je bestanden autoload in je project, composer/het ouderwetse include. Als u composer gebruikt, hernoem dit bestand dan naar iets anders, het kan eigenlijk van alles heten.

Maar in het belang van deze schrijfopdracht zullen we het houden bij autoload.php.

Plaats het onderstaande knipsel in uw bestand.

Zorg ervoor dat het in dezelfde directory staat als uw env.example.php bestand

Merk op dat we in onze autoload.php ook env.php en niet env.example.php?
Dit komt omdat een env.php zal worden aangemaakt vanuit env.example.php per omgeving waar uw app wordt ingezet, en vanwege zijn eigenaardigheid, moet u het toevoegen aan uw .gitignore.

Als u klaar bent met het instellen van dit, zoals ik eerder zei, afhankelijk van hoe u bestanden autoload binnen uw directory, autoload uw autoload.php bestand. Voor niet-composer projecten kunt u dit bestand gewoon in uw project opnemen via include "autoload.php";

Voilà! U kunt uw omgevingsvariabelen benaderen via env('VARIABLE_NAME')

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.