Si può fare esattamente lo stesso come in laravel 4:
$env = $app->detectEnvironment(array(
'local' => array('homestead')
));
*.env
di file sono solo utilizzati per mettere i dati sensibili che non dovrebbero essere messi in VCS. Lo stesso è a laravel 4
ma è sembra che negli ultimi giorni di default detectEnvironment è stato cambiato in:
$env = $app->detectEnvironment(function()
{
return getenv('APP_ENV') ?: 'production';
});
in modo da poter utilizzare sia variabile impostazione dal nome del PC o dal file ENV.
Se si utilizza il rilevamento ambiente basato ENV nel file di ENV principale (per impostazione predefinita .env
di file è necessario aggiungere:
APP_ENV=local
Naturalmente local
qui è l'ambiente locale, è possibile cambiare in production
o dev
Al momento il problema più importante che vedo è che è necessario ricordare quando si va in produzione per modificare questo contenuto di file .env
da APP_ENV=local
a APP_ENV=production
quindi secondo me il metodo migliore è il vecchio defa metodo ult basato su nomi di PC.
Ora file ENV. Se si utilizza il rilevamento ambiente basato ENV, si dovrebbe mettere nel file ENV solo:
APP_ENV=local
Ora è possibile creare file ENV separati per i vostri diversi ambienti, ad esempio:
.local.env:
MY_DB=testdb
.produzione.env:
MY_DB=productiondb
e ora in bootstrap.environment.php
file, è possibile modficare:
if (file_exists(__DIR__.'/../.env'))
{
Dotenv::load(__DIR__.'/../');
}
in:
if (file_exists(__DIR__.'/../.env'))
{
Dotenv::load(__DIR__.'/../');
if (getenv('APP_ENV') && file_exists(__DIR__.'/../.' .getenv('APP_ENV') .'.env')) {
Dotenv::load(__DIR__ . '/../', '.' . getenv('APP_ENV') . '.env');
}
}
caricare il file ENV in più sulla base di APP_ENV
dal file env principale.
Ora si sarà in grado di utilizzare nel vostro altri file di configurazione, come sempre: $_ENV['MY_DB']
Hi Heihachi, in laravel-5, in cui si trova il file .ENV. Non sono in grado di trovare quel file. Potete per favore aiutarmi. –