Konfigurace

Všechny konfigurační soubory frameworku jsou umístěny v adresáři config, kde všechny možnosti jsou velice dobře okomentované. Protože je velmi běžné mít jiné konfigurační hodnoty v různých prostředích, nabízí Laravel PHP knihovnu DotEnv od Vance Lucase, která toto rozdělení umožňuje. Po nainstalování Laravelu se v kořenovém adresáři nachází soubor .env.example. Pokud jste Laravel nainstalovali přes Composer, soubor se automaticky přejmenuje na .env. V opačném případě by jste měli soubor přejmenovat ručně. Můžete vytvořit i soubor .env.testing, který přepíše hodnoty z .env při spuštění PHPUnit testů nebo při zavolání Artisan příkazu s volbou –env=testing.

Získání hodnot podle prostředí

Všechny proměnné v tomto souboru jsou automaticky načteny v globální proměnné $_ENV. Nicméně pro získání hodnot můžete využít také helper env, například v konfiguračních souborech můžete vidět tento helper v akci:

'debug' => env('APP_DEBUG', false),

kde první parametr odpovídá názvu proměnné (klíči) a druhá hodnota značí defaultní hodnotu, která se použije pokud pro dané prostředí neexistuje definovaný klíč.

Váš .env soubor by neměl být komitovaný ani zahrnutý v CVS projektu, protože každý vývojář/server, který využívá vaši aplikaci, může požadovat jiné konfigurace.

Určení prostředí

Aktuální prostředí aplikace lze zjistit pomocí proměnné APP_ENV z .env souboru. K této hodnotě se můžete dostat pomocí metody environment skrze App fasádu:

$environment = App::environment();

Do metody environment můžete také přidat argumenty pro kontrolu, jestli prostředí souhlasí s hodnotou. Metoda pak vrací true pokud prostředí souhlasí:

if (App::environment('local')) {
// Prostredi je local
}

if (App::environment('local', 'staging')) {
// Prostredi je bud local nebo staging
}

Získání konfiguračních hodnot

Ke konfiguračním hodnotám se můžete snadno kdekoliv v aplikaci dostat pomocí globálního helperu config. Parametr v helperu se uvádí pomocí „tečkovací“ syntaxi, která obsahuje název souboru a proměnné ke které se chcete dostat. Jako druhý parametr se může uvést také defaultní hodnota, která se použije pokud konfigurační proměnná neexistuje:

$value = config('app.timezone');

Kešování konfigurace

Pro zrychlení aplikace můžeme využít Artisan příkazu config:cache, který nakešuje všechny konfigurační soubory do jednoho. Celý příkaz php artisan config:cache by jste měli používat především jako součást vývoje před nahrání do produkce. Příkaz by se neměl spouštět během vývoje, jelikož se konfigurace může často měnit.

Údržbový mód

Pokud je vaše aplikace v módu údržby, zobrazí se vlastní stránka při všech požadavcích do aplikace. To umožňuje jednoduše „odstavit“ vaši aplikaci během údržby nebo aktualizace. Mód údržby je zahrnut ve výchozím middlewaru, tedy pokud aktivovaný, je při požadavku na aplikaci vyvolána výjimka MaintenanceModeException se statusem 503.

Pro aktivaci módu jednoduše spusťte Artisan příkaz down:

php artisan down

Naopak pro deaktivaci použijte příkaz up:

php artisan up

Šablona jako odpověď během údržbového módu

Výchozí šablonou při odpovědi v údržbovém módu je umístěna v resources/views/errors/503.blade.php. Tuto šablonu si můžete upravit zcela podle svých představ.