https://github.com/dev-macb/ambivar
🎡 Gestão de variáveis de ambiente para projetos PHP.
https://github.com/dev-macb/ambivar
ambivar dotenv env environment environment-variables variaveis-ambiente
Last synced: 4 months ago
JSON representation
🎡 Gestão de variáveis de ambiente para projetos PHP.
- Host: GitHub
- URL: https://github.com/dev-macb/ambivar
- Owner: dev-macb
- License: mit
- Created: 2023-03-08T06:07:10.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-12T20:10:05.000Z (about 1 year ago)
- Last Synced: 2025-05-15T11:23:30.725Z (about 1 year ago)
- Topics: ambivar, dotenv, env, environment, environment-variables, variaveis-ambiente
- Language: PHP
- Homepage: https://packagist.org/packages/dev-macb/ambivar
- Size: 43.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
🔷 Ambivar 🔷
## 🎯 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:
```bash
composer require dev-macb/ambivar
```
🔷
## 🚀 Uso Básico
### Carregamento de Variáveis
```php
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
```php
Ambivar::adicionar('APP_ENV', 'production');
Ambivar::remover('TEMP_VAR');
$valor = Ambivar::obter('DB_HOST', 'localhost');
```
### Acesso às Variáveis
```php
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`.
```php
Ambivar::ambivar(__DIR__);
```
#### `dotenv(): bool`
Carrega o arquivo `.env` padrão do diretório base.
```php
// Retorna true se o arquivo foi carregado com sucesso
$resultado = Ambivar::dotenv();
```
#### `carregar(string $caminhoDoArquivoEnv): bool`
Carrega um arquivo `.env` específico.
```php
// 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.
```php
// 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.
```php
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.
```php
// 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.
```php
// 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.
```php
// 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.
```php
// 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.
```php
// 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.
🔷