{"id":19947697,"url":"https://github.com/dev-macb/ambivar","last_synced_at":"2026-02-24T11:33:09.750Z","repository":{"id":130064282,"uuid":"611111445","full_name":"dev-macb/ambivar","owner":"dev-macb","description":"🎡 Gestão de variáveis de ambiente para projetos PHP.","archived":false,"fork":false,"pushed_at":"2025-03-12T20:10:05.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T11:23:30.725Z","etag":null,"topics":["ambivar","dotenv","env","environment","environment-variables","variaveis-ambiente"],"latest_commit_sha":null,"homepage":"https://packagist.org/packages/dev-macb/ambivar","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dev-macb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-08T06:07:10.000Z","updated_at":"2025-03-12T20:10:09.000Z","dependencies_parsed_at":"2024-11-13T00:37:17.437Z","dependency_job_id":"349feb39-8ab8-4cab-a94c-92c3c175efd9","html_url":"https://github.com/dev-macb/ambivar","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/dev-macb/ambivar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-macb%2Fambivar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-macb%2Fambivar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-macb%2Fambivar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-macb%2Fambivar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dev-macb","download_url":"https://codeload.github.com/dev-macb/ambivar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-macb%2Fambivar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29780604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T10:45:18.109Z","status":"ssl_error","status_checked_at":"2026-02-24T10:45:09.911Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ambivar","dotenv","env","environment","environment-variables","variaveis-ambiente"],"created_at":"2024-11-13T00:37:06.475Z","updated_at":"2026-02-24T11:33:09.731Z","avatar_url":"https://github.com/dev-macb.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e🔷 Ambivar 🔷\u003c/h1\u003e\n\n\u003cdiv id=\"metadados\" align=\"center\"\u003e\n    \u003cimg alt=\"Packagist Version\" src=\"https://img.shields.io/packagist/v/dev-macb/ambivar?color=blue\u0026logoColor=gray\"\u003e\n    \u003cimg alt=\"Packagist Downloads\" src=\"https://img.shields.io/packagist/dm/dev-macb/ambivar?color=blue\u0026logoColor=gray\"\u003e\n    \u003cimg alt=\"Packagist License\" src=\"https://img.shields.io/packagist/l/dev-macb/ambivar?color=blue\u0026logoColor=gray\"\u003e\n\u003c/div\u003e\n\n\n\n## 🎯 Objetivo\nO \u003cstrong\u003eAmbivar\u003c/strong\u003e é um pacote em PHP para facilitar a gestão de \nvariáveis de ambiente em projetos. Ele permite carregar e manipular variáveis \natravés de um arquivo \u003ccode\u003e.env\u003c/code\u003e, garantindo segurança e flexibilidade \npara o gerenciamento de configurações do sistema.\n\n\u003cp align=\"center\"\u003e🔷\u003c/p\u003e\n\n\n\n## 🔧 Instalação\nPara instalar o Ambivar, certifique-se de ter o \u003ca target=\"_blank\" href=\"https://www.php.net/\"\u003ePHP\u003c/a\u003e e o \n\u003ca target=\"_blank\" href=\"https://getcomposer.org/\"\u003eComposer\u003c/a\u003e instalados. Execute o seguinte comando:\n\n```bash\ncomposer require dev-macb/ambivar\n```\n\n\u003cp align=\"center\"\u003e🔷\u003c/p\u003e\n\n\n\n## 🚀 Uso Básico\n\n### Carregamento de Variáveis\n```php\nuse MacB\\Ambivar;\n\nAmbivar::inicializar(__DIR__);  // Opcional\nAmbivar::dotenv();              // Carrega o arquivo .env padrão\nAmbivar::carregar(\".env.dev\");  // Carrega um arquivo específico\n```\n\n### Manipulação de Variáveis\n```php\nAmbivar::adicionar('APP_ENV', 'production');\nAmbivar::remover('TEMP_VAR');\n$valor = Ambivar::obter('DB_HOST', 'localhost');\n```\n\n### Acesso às Variáveis\n```php\necho Ambivar::obter('DB_NAME');\necho getenv('DB_NAME');\necho $_ENV['DB_NAME'];\n```\n\n\u003cp align=\"center\"\u003e🔷\u003c/p\u003e\n\n\n\n## 📚 Documentação Técnica\n\n#### `ambivar(string $diretorioBase = null): void`\nDefine o diretório base para carregar arquivos `.env`.\n```php\nAmbivar::ambivar(__DIR__);\n```\n\n#### `dotenv(): bool`\nCarrega o arquivo `.env` padrão do diretório base.\n```php\n// Retorna true se o arquivo foi carregado com sucesso\n$resultado = Ambivar::dotenv();\n```\n\n#### `carregar(string $caminhoDoArquivoEnv): bool`\nCarrega um arquivo `.env` específico.\n```php\n// Carrega um arquivo .env específico\n$resultado = Ambivar::carregar('/caminho/completo/.env.production');\n```\n\n#### `carregarDiretorio(string $diretorio): int`\nCarrega todas as variáveis de ambiente dos arquivos `.env` dentro de um diretório.\n```php\n// Retorna o número de arquivos carregados com sucesso\n$contador = Ambivar::carregarDiretorio(__DIR__ . '/environments');\n```\n\n#### `existe(string $chave): bool`\nVerifica se uma variável de ambiente existe.\n```php\nif (Ambivar::existe('SECRET_KEY')) {\n    // A variável existe\n}\n```\n\n#### `obter(string $chave, mixed $padrao = null): mixed`\nObtém o valor de uma variável de ambiente ou retorna um valor padrão se não existir.\n```php\n// Obtém APP_DEBUG ou retorna false se não estiver definido\n$valor = Ambivar::obter('APP_DEBUG', false);\n```\n\n#### `obterTodos(): array`\nRetorna todas as variáveis de ambiente carregadas.\n```php\n// Obtém todas as variáveis carregadas\n$todasVariaveisDeAmbiente = Ambivar::obterTodas();\n```\n\n#### `adicionar(string $chave, string $valor, ?string $caminhoDoArquivoEnv = null): bool`\nAdiciona ou atualiza uma variável de ambiente.\n```php\n// Define APP_ENV como 'production' no arquivo .env padrão\nAmbivar::adicionar('APP_ENV', 'production');\n\n// Define DEBUG como 'true' em um arquivo específico\nAmbivar::adicionar('DEBUG', 'true', __DIR__ . '/.env.dev');\n```\n\n#### `adicionarVarios(array $variaveis, ?string $caminhoDoArquivoEnv = null): int`\nAdiciona múltiplas variáveis de ambiente de uma só vez.\n```php\n// Define múltiplas variáveis e retorna o número de variáveis definidas com sucesso\n$contador = Ambivar::setMany([\n    'APP_NAME' =\u003e 'Minha Aplicação',\n    'APP_ENV' =\u003e 'production',\n    'APP_DEBUG' =\u003e 'false',\n    'APP_URL' =\u003e 'https://example.com'\n]);\n```\n\n#### `remover(string $chave, ?string $caminhoDoArquivoEnv = null): bool`\nRemove uma variável de ambiente.\n```php\n// Remove a variável TEMP_TOKEN do arquivo .env padrão\nAmbivar::remover('TEMP_TOKEN');\n\n// Remove a variável DEBUG de um arquivo específico\nAmbivar::remover('DEBUG', __DIR__ . '/.env.test');\n```\n\n### Boas Práticas\n- **Não commit arquivos `.env`**: Adicione ao `.gitignore` e forneça um `.env.example`.\n- **Evite armazenar dados sensíveis em texto puro**.\n- **Use nomes descritivos e padrões** (`DB_HOST`, `APP_ENV`).\n- **Sempre forneça valores padrão** ao acessar variáveis.\n\n\n\n## ✒️ Contribuições\nSe deseja contribuir, relate problemas ou sugira melhorias abrindo uma \u003ca href=\"https://github.com/dev-macb/ambivar/issues\"\u003eIssue\u003c/a\u003e \nou enviando um \u003cem\u003ePull Request\u003c/em\u003e. Se gostou do projeto, deixe uma ⭐ para apoiar!\n\n\u003cp align=\"center\"\u003e🔷\u003c/p\u003e\n\n\n\n## 📄 Licença\nO Ambivar é licenciado sob a \u003cstrong\u003eMIT License\u003c/strong\u003e. Consulte os termos em \n\u003ca href=\"https://github.com/dev-macb/ambivar/blob/dev/LICENSE.md\"\u003eLICENSE\u003c/a\u003e.\n\n\u003cp align=\"center\"\u003e🔷\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-macb%2Fambivar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdev-macb%2Fambivar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-macb%2Fambivar/lists"}