dev-macb/ambivar

O Ambivar é um pacote em PHP que tem como objetivo facilitar a gestão de variáveis de ambiente em seus projetos.

1.2.0 2023-07-24 23:47 UTC

This package is auto-updated.

Last update: 2025-04-12 20:21:17 UTC


README

Packagist Version Packagist Downloads Packagist License

🎯 Objetivo

O Ambivar é um pacote em PHP para facilitar a gestão de variáveis de ambiente em projetos. Ele permite carregar e manipular variáveis através de um arquivo .env, garantindo segurança e flexibilidade para o gerenciamento de configurações do sistema.

🔷

🔧 Instalação

Para instalar o Ambivar, certifique-se de ter o PHP e o Composer instalados. Execute o seguinte comando:

composer require dev-macb/ambivar

🔷

🚀 Uso Básico

Carregamento de Variáveis

use MacB\Ambivar;

Ambivar::inicializar(__DIR__);  // Opcional
Ambivar::dotenv();              // Carrega o arquivo .env padrão
Ambivar::carregar(".env.dev");  // Carrega um arquivo específico

Manipulação de Variáveis

Ambivar::adicionar('APP_ENV', 'production');
Ambivar::remover('TEMP_VAR');
$valor = Ambivar::obter('DB_HOST', 'localhost');

Acesso às Variáveis

echo Ambivar::obter('DB_NAME');
echo getenv('DB_NAME');
echo $_ENV['DB_NAME'];

🔷

📚 Documentação Técnica

ambivar(string $diretorioBase = null): void

Define o diretório base para carregar arquivos .env.

Ambivar::ambivar(__DIR__);

dotenv(): bool

Carrega o arquivo .env padrão do diretório base.

// Retorna true se o arquivo foi carregado com sucesso
$resultado = Ambivar::dotenv();

carregar(string $caminhoDoArquivoEnv): bool

Carrega um arquivo .env específico.

// Carrega um arquivo .env específico
$resultado = Ambivar::carregar('/caminho/completo/.env.production');

carregarDiretorio(string $diretorio): int

Carrega todas as variáveis de ambiente dos arquivos .env dentro de um diretório.

// Retorna o número de arquivos carregados com sucesso
$contador = Ambivar::carregarDiretorio(__DIR__ . '/environments');

existe(string $chave): bool

Verifica se uma variável de ambiente existe.

if (Ambivar::existe('SECRET_KEY')) {
    // A variável existe
}

obter(string $chave, mixed $padrao = null): mixed

Obtém o valor de uma variável de ambiente ou retorna um valor padrão se não existir.

// Obtém APP_DEBUG ou retorna false se não estiver definido
$valor = Ambivar::obter('APP_DEBUG', false);

obterTodos(): array

Retorna todas as variáveis de ambiente carregadas.

// Obtém todas as variáveis carregadas
$todasVariaveisDeAmbiente = Ambivar::obterTodas();

adicionar(string $chave, string $valor, ?string $caminhoDoArquivoEnv = null): bool

Adiciona ou atualiza uma variável de ambiente.

// Define APP_ENV como 'production' no arquivo .env padrão
Ambivar::adicionar('APP_ENV', 'production');

// Define DEBUG como 'true' em um arquivo específico
Ambivar::adicionar('DEBUG', 'true', __DIR__ . '/.env.dev');

adicionarVarios(array $variaveis, ?string $caminhoDoArquivoEnv = null): int

Adiciona múltiplas variáveis de ambiente de uma só vez.

// Define múltiplas variáveis e retorna o número de variáveis definidas com sucesso
$contador = Ambivar::setMany([
    'APP_NAME' => 'Minha Aplicação',
    'APP_ENV' => 'production',
    'APP_DEBUG' => 'false',
    'APP_URL' => 'https://example.com'
]);

remover(string $chave, ?string $caminhoDoArquivoEnv = null): bool

Remove uma variável de ambiente.

// Remove a variável TEMP_TOKEN do arquivo .env padrão
Ambivar::remover('TEMP_TOKEN');

// Remove a variável DEBUG de um arquivo específico
Ambivar::remover('DEBUG', __DIR__ . '/.env.test');

Boas Práticas

  • Não commit arquivos .env: Adicione ao .gitignore e forneça um .env.example.
  • Evite armazenar dados sensíveis em texto puro.
  • Use nomes descritivos e padrões (DB_HOST, APP_ENV).
  • Sempre forneça valores padrão ao acessar variáveis.

✒️ Contribuições

Se deseja contribuir, relate problemas ou sugira melhorias abrindo uma Issue ou enviando um Pull Request. Se gostou do projeto, deixe uma ⭐ para apoiar!

🔷

📄 Licença

O Ambivar é licenciado sob a MIT License. Consulte os termos em LICENSE.

🔷