A configuração de ambiente é um tópico que mudou consideravelmente entre as versões 4.2, 5.0 e 5.1 do Laravel. Nessa evolução algumas coisas mudaram e infelizmente a documentação não necessariamente acompanhou as novidades de flexibilização de configuração.
Uma coisa que está documentada mas não é necessariamente explícita/clara é a possibilidade de compartilhar uma mesma aplicação em mais de um ambiente de configuração.
Imagine que você queira compartilhar uma aplicação para o ambiente de homologação (staging) e produção (production) apenas trocando as configurações de ambiente com base no domínio servido. Nos tempos do Laravel 4.x isso era configurado através de um recurso do próprio framework. Como você faria isso hoje? 🤔
Usando diferentes arquivos .env
por ambiente, de modo que você pode ter um .env.staging
para a homologação, um .env.production
para a produção, um .env.testing
para testes, etc. 😀
Mas como definir qual o ambiente que está sendo usado? Através da variável