Introductie
Alle configuratiebestanden van het Laravel-framework staan in de mapconfig/. 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.
--only-optie.
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
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 omgevingsvariabeleAPP_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.
De huidige omgeving bepalen
De huidige omgeving wordt bepaald door deAPP_ENV-variabele in het .env-bestand. Je haalt die op met de environment-methode van de App-facade.
Omgevingsbestanden versleutelen
Onversleutelde omgevingsbestanden horen niet in versiebeheer, maar Laravel heeft een functie om omgevingsbestanden te versleutelen..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 deConfig-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.
Config::set() of geef je een array door aan config().
Configuratie cachen
Om de performance van je applicatie te verbeteren, cache je alle configuratiebestanden in één bestand..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.
Om de cache te verwijderen, gebruik je het config:clear-commando.
Configuratiebestanden publiceren
De meeste configuratiebestanden van Laravel zijn al gepubliceerd in de mapconfig/, 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
Dedebug-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.
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
--refresh-optie laadt de browser de pagina na het opgegeven aantal seconden automatisch opnieuw.
--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.
--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 jephp 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.
Onderhoudsmodus uitschakelen
De standaardtemplate voor de onderhoudsmodus kun je aanpassen door
resources/views/errors/503.blade.php aan te maken.Volgende stap
Routing
Leer de basis van routing: het koppelen van URL’s aan controllers.