Přemýšleli jste někdy o tom, jak můžete nasadit své webové aplikace a nemusíte před nasazením nastavovat konfiguraci databáze s přihlašovacími údaji serveru ani chodit na server a upravovat přihlašovací údaje podle nich?
Pokud znáte frameworky PHP jako Laravel a Symphony, měli byste vědět o jejich souboru .env. V něm nastavujete všechny místní proměnné, od pověření k databázi až po pověření k poštovní službě a cokoli, co by podle vás mělo být vlastní prostředí (lokální/vývojové, stagingové a produkční).
Tyto dvě funkce PHP jsou tajemstvím souboru .env systému Laravel. Jak napovídá jejich název, jedna slouží k nastavení proměnných prostředí putenv(), zatímco druhá k získání proměnných getenv().
Níže si o nich můžete přečíst více:
http://php.net/manual/en/function.getenv.php
http://php.net/manual/en/function.putenv.php
JAK JE IMPLEMENTOVAT DO SVÉHO PROJEKTU?
Její implementace je velmi jednoduchá, a jak jste uhodli, ano! Bude zahrnovat smyčky.
Vytvořte soubor env.example.php
Vím, že vás bude zajímat, co je to ten .example? To je soubor, který zkopírujete a vložíte jako env.php. Nezapomeňte, že se jedná o soubor, který by měl být vlastní svému prostředí, a proto přidáte soubor env.php do souboru .gitignore. K tomu se vrátíme později.
Předtím ještě do souboru vložte níže uvedený úryvek.
Vytvořte soubor autoload.php
Záleží na tom, jak ve svém projektu autoloadujete soubory, composer/staromódní include. Pokud používáte composer, přejmenujte tento soubor na něco jiného, může se jmenovat vlastně jakkoli.
Pro účely tohoto zápisu však zůstaneme u souboru autoload.php.
Vložte do souboru níže uvedený úryvek.
Všimněte si, že v našem souboru autoload.php zahrnujeme env.php a ne env.example.php?
To proto, že soubor env.php bude vytvořen znovu z env.example.php podle prostředí, ve kterém je vaše aplikace nasazena, a kvůli jeho zvláštnostem byste ho měli přidat do svého souboru .gitignore.
Když jste s nastavením hotovi, jak jsem uvedl dříve, v závislosti na tom, jakým způsobem soubory autoload v adresáři používáte, přidejte soubor autoload.php. V případě projektu, který není součástí Compozeru, stačí tento soubor zahrnout do projektu obecně prostřednictvím include "autoload.php";
Voilà! můžete přistupovat k proměnným prostředí prostřednictvím env('VARIABLE_NAME')
.