O que é phpdotenv?
phpdotenv é uma biblioteca PHP popular para gerenciar a configuração de aplicações através de variáveis de ambiente. Ela permite carregar configurações de um arquivo .env para o array $_ENV e variáveis globais getenv(), simplificando a separação entre configuração e código. Foi criada inspirada na biblioteca Ruby dotenv e é amplamente utilizada em frameworks PHP modernos (Laravel, Symfony).
Para que serve o phpdotenv?
Ao desenvolver aplicações, frequentemente é necessário armazenar dados sensíveis (senhas de banco de dados, chaves de API) separadamente do código. O phpdotenv resolve este problema: você cria um arquivo .env, que não entra no repositório (adicionado ao .gitignore), e a biblioteca o carrega no ambiente. Isso garante segurança, flexibilidade (configurações diferentes para dev/staging/prod) e conformidade com o princípio da aplicação 12-factor.
Instalação do phpdotenv
Instale a biblioteca via Composer:
composer require vlucas/phpdotenvCertifique-se de ter o Composer instalado e o PHP versão 7.1 ou superior.
Funções principais
- Carregamento do arquivo .env — análise de chave=valor com suporte a comentários (#) e linhas vazias.
- Variáveis obrigatórias — verificação da presença de chaves necessárias usando
required(). - Tipagem — conversão automática de strings para tipos (boolean, integer, null).
- Segurança — escape de caracteres especiais, suporte a aspas.
- Imutabilidade — proteção contra sobrescrita de variáveis de ambiente existentes.
Exemplo de código em PHP
require 'vendor/autoload.php';
use Dotenv\\Dotenv;
// Carrega o .env do diretório raiz$dotenv = Dotenv::createImmutable(__DIR__);$dotenv->load();
// Agora as variáveis estão disponíveis via getenv()$dbHost = getenv('DB_HOST');$dbName = getenv('DB_NAME');
// Ou via $_ENVecho $_ENV['APP_ENV']; // 'local'
// Verificação de variáveis obrigatórias$dotenv->required(['DB_HOST', 'DB_NAME']);
// Exemplo de arquivo .env:// DB_HOST=localhost// DB_NAME=test// APP_ENV=localQuando usar phpdotenv
A biblioteca é ideal para:
- Aplicações web em PHP (Laravel, Symfony, Slim).
- Scripts CLI e microsserviços.
- Projetos que exigem rápida alteração de configuração sem modificar o código.
- Desenvolvimento em equipe — cada desenvolvedor pode ter seu próprio
.env. - Pipelines de CI/CD — variáveis são definidas pelo ambiente do servidor, não por arquivo.
Importante: Nunca commite o arquivo .env no repositório. Crie um .env.example com um modelo para os colegas.
Também na biblioteca
Monitoramento de aplicações Rust: Visão geral de ferramentas e bibliotecas
Aprendizado de Máquina em Swift: bibliotecas para iOS/macOS
EventKit para Swift: guia completo com exemplos práticos
Validação de dados em Go: bibliotecas, exemplos e melhores práticas
Agendador de Tarefas em Node.js (node-cron, node-schedule, Bull)