.env nunca deve ir para o repositório. Aprenda a separar configuração de código, validar variáveis obrigatórias e lidar com múltiplos ambientes.
Configuração não é código
O princípio do 12-Factor App é claro: configuração (credenciais, URLs de serviços, chaves de API) não deve ser hardcoded nem versionada. Ela varia entre ambientes — dev, staging, produção — e o código não.
vlucas/phpdotenv
phpdotenv carrega variáveis de um arquivo .env para o ambiente do processo ($_ENV, getenv()). O arquivo .env.example documenta as variáveis necessárias sem expor valores reais.
Validação de obrigatórias
phpdotenv permite declarar variáveis obrigatórias e validar seu formato. Se uma variável essencial estiver ausente, a aplicação falha no boot com mensagem clara — muito melhor do que um erro obscuro em runtime:
$dotenv->required(['APP_KEY', 'DB_HOST', 'DB_PASSWORD'])->notEmpty();
Nunca commitar .env
O .gitignore deve sempre incluir .env. Use o .env.example como template documentado. Em CI/CD, injete as variáveis como secrets do pipeline — GitHub Actions, GitLab CI e equivalentes suportam isso nativamente.
Publicado em
DevOps & DeployExplorar por tema