Skip to main content

Introductie

Alle configuratiebestanden van het Laravel-framework staan in de map config/. Elke optie is voorzien van commentaar, dus open de bestanden gerust om de beschikbare opties te bekijken. In de configuratiebestanden beheer je allerlei kernconfiguratiewaarden, zoals databaseverbindingsgegevens, mailservergegevens, de applicatie-URL en de encryptiesleutel.

Het about-commando

Met het about Artisan-commando krijg je een overzicht van de configuratie, drivers en omgeving van je applicatie.
Wil je alleen een bepaalde sectie bekijken, gebruik dan de --only-optie.
Om de waarden van een specifiek configuratiebestand in detail te bekijken, is het config:show-commando handig.

Omgevingsconfiguratie (.env)

Vaak wil je configuratiewaarden laten verschillen per omgeving. Bijvoorbeeld wanneer je lokaal een andere cachedriver wilt gebruiken dan in productie. Laravel maakt dit eenvoudig met de DotEnv PHP-library. Bij een nieuwe installatie bevat de rootmap van je applicatie een .env.example-bestand met veelvoorkomende omgevingsvariabelen, dat tijdens het installatieproces automatisch wordt gekopieerd naar .env.
Werk je in een team, dan is het handig om het .env.example-bestand bij te werken en in de repository op te nemen. Door placeholderwaarden in te stellen, zien andere ontwikkelaars in het team duidelijk welke omgevingsvariabelen nodig zijn.

Beveiliging van het omgevingsbestand

Commit het .env-bestand niet naar versiebeheer. Elke ontwikkelaar en server heeft een eigen configuratie nodig, en als het bestand in de repository staat, bestaat het risico dat gevoelige informatie uitlekt bij een incident.
Laravel heeft echter een ingebouwde functie om omgevingsbestanden te versleutelen; in versleutelde vorm kun je ze veilig in versiebeheer opslaan.

Extra omgevingsbestanden

Bij het opstarten van de applicatie controleert Laravel of de omgevingsvariabele APP_ENV of het CLI-argument --env is opgegeven. Zo ja, dan wordt het bestand .env.[APP_ENV] geladen als dat bestaat. Bestaat het niet, dan wordt het standaard .env-bestand gebruikt.

Typen van omgevingsvariabelen

Alle variabelen in het .env-bestand worden als string geparset, maar om de env()-functie een breder scala aan typen te laten teruggeven, zijn de volgende speciale waarden beschikbaar. Om een waarde met spaties in te stellen, omring je die met dubbele aanhalingstekens.

Omgevingsvariabelen ophalen

Alle variabelen in het .env-bestand worden bij het ontvangen van een request geladen in de PHP-superglobal $_ENV. In configuratiebestanden kun je de waarden ophalen met de env()-functie.
Het tweede argument is de standaardwaarde. Deze wordt teruggegeven als de omgevingsvariabele niet bestaat.

De huidige omgeving bepalen

De huidige omgeving wordt bepaald door de APP_ENV-variabele in het .env-bestand. Je haalt die op met de environment-methode van de App-facade.
Je kunt ook een argument doorgeven om te controleren of het een specifieke omgeving betreft.

Omgevingsbestanden versleutelen

Onversleutelde omgevingsbestanden horen niet in versiebeheer, maar Laravel heeft een functie om omgevingsbestanden te versleutelen.
Bij het uitvoeren wordt .env versleuteld en wordt de versleutelde inhoud opgeslagen in het bestand .env.encrypted. De decryptiesleutel wordt getoond in de output van het commando; bewaar die in een veilige wachtwoordmanager. Om te ontsleutelen gebruik je het env:decrypt-commando.

Toegang tot configuratiewaarden

Met de Config-facade of de globale config()-functie kun je vanaf elke plek in je applicatie configuratiewaarden benaderen. Je gebruikt de “dot-notatie”, waarbij je de bestandsnaam en de optienaam combineert.
Om configuratiewaarden tijdens runtime te wijzigen, gebruik je Config::set() of geef je een array door aan config().
Er zijn ook getypeerde ophaalmethoden beschikbaar; als het type niet overeenkomt, wordt er een exception gegooid.

Configuratie cachen

Om de performance van je applicatie te verbeteren, cache je alle configuratiebestanden in één bestand.
Dit commando bundelt alle configuratieopties in één bestand, zodat het framework ze snel kan laden.
Voer het config:cache-commando uit als onderdeel van je deployproces naar productie. Tijdens lokale ontwikkeling verandert de configuratie vaak, dus daar wordt het afgeraden.
Zodra de cache is aangemaakt, wordt het .env-bestand niet meer geladen bij requests van het framework of bij het uitvoeren van Artisan-commando’s. Daardoor geeft de env()-functie alleen nog omgevingsvariabelen op systeemniveau terug.
Roep de env()-functie daarom altijd alleen aan vanuit configuratiebestanden in de map config/. Op andere plekken in je applicatie haal je configuratiewaarden op met de config()-functie.
Om de cache te verwijderen, gebruik je het config:clear-commando.

Configuratiebestanden publiceren

De meeste configuratiebestanden van Laravel zijn al gepubliceerd in de map config/, maar sommige bestanden zoals cors.php en view.php zijn standaard niet gepubliceerd. Om nog niet gepubliceerde configuratiebestanden te publiceren, gebruik je het config:publish-commando.

Debugmodus

De debug-optie in config/app.php bepaalt hoeveel foutinformatie aan de gebruiker wordt getoond. Deze optie volgt standaard de waarde van de omgevingsvariabele APP_DEBUG in het .env-bestand.
Zet APP_DEBUG in productie altijd op false. Laat je hem op true staan, dan bestaat het gevaar dat gevoelige configuratiewaarden van je applicatie worden blootgesteld aan eindgebruikers.

Onderhoudsmodus

Wanneer je applicatie in onderhoudsmodus staat, wordt bij alle requests een aangepaste view getoond. Zo kun je je applicatie tijdelijk “uitschakelen” tijdens een update of onderhoudswerkzaamheden.

Onderhoudsmodus inschakelen

Met de --refresh-optie laadt de browser de pagina na het opgegeven aantal seconden automatisch opnieuw.
De --retry-optie wordt ingesteld als de waarde van de Retry-After HTTP-header.

De onderhoudsmodus omzeilen

Om alleen specifieke gebruikers toegang te geven via een geheime token, gebruik je de --secret-optie.
Met de --with-secret-optie genereert Laravel automatisch een token.

Onderhoudsmodus op meerdere servers

Standaard beheert Laravel de onderhoudsmodus op basis van bestanden. Bij een opstelling met meerdere servers is de cachegebaseerde methode handiger.

De onderhoudsview vooraf renderen

Als je php artisan down uitvoert tijdens een deploy, kunnen gebruikers die de applicatie bezoeken terwijl de dependencies worden bijgewerkt een foutmelding te zien krijgen. Om dit te voorkomen, render je de view vooraf met de --render-optie.
Je kunt tijdens de onderhoudsmodus ook alle requests naar een specifieke URL laten redirecten.

Onderhoudsmodus uitschakelen

De standaardtemplate voor de onderhoudsmodus kun je aanpassen door resources/views/errors/503.blade.php aan te maken.
Wil je downtime volledig vermijden, overweeg dan een volledig beheerd platform zoals Laravel Cloud.

Volgende stap

Routing

Leer de basis van routing: het koppelen van URL’s aan controllers.
Laatst gewijzigd op 6 september 2026