first commit
This commit is contained in:
42
app/Common/Config/Config.php
Normal file
42
app/Common/Config/Config.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
namespace Workbloom\Config;
|
||||
|
||||
use Dotenv\Dotenv;
|
||||
|
||||
class Config {
|
||||
private $config = [];
|
||||
private static $instance = null;
|
||||
|
||||
/**
|
||||
* Método construtor
|
||||
*/
|
||||
public function __construct() {
|
||||
// Carrega apenas para $_ENV, não para $_SERVER
|
||||
$dotEnv = Dotenv::createUnsafeImmutable(
|
||||
paths: realpath(path: __DIR__ . "/../../../"),
|
||||
names: '.env'
|
||||
);
|
||||
$dotEnv->safeLoad(); // não dá erro se .env não existir
|
||||
|
||||
// Carrega as configurações
|
||||
$this->config = require_once realpath(path: __DIR__ . "/Consts.php");
|
||||
}
|
||||
|
||||
/**
|
||||
* Retorna a instância única da classe
|
||||
*/
|
||||
public static function getInstance() {
|
||||
if (self::$instance === null) {
|
||||
self::$instance = new Config();
|
||||
}
|
||||
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retorna uma configuração
|
||||
*/
|
||||
public function get(string $key) {
|
||||
return $this->config[$key] ?? null;
|
||||
}
|
||||
}
|
||||
21
app/Common/Config/Consts.php
Normal file
21
app/Common/Config/Consts.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
return [
|
||||
'SYSTEM_URL' => (string) getenv(name: 'SYSTEM_URL'),
|
||||
'SYSTEM_VERSION' => (string) getenv(name: 'SYSTEM_VERSION'),
|
||||
'SYSTEM_TIMEZONE' => (string) getenv(name: 'SYSTEM_TIMEZONE'),
|
||||
'SYSTEM_ENVIRONMENT_ID' => (int) getenv(name: 'SYSTEM_ENVIRONMENT_ID'),
|
||||
'SYSTEM_FRONTEND_URL' => (string) getenv(name: 'SYSTEM_FRONTEND_URL'),
|
||||
|
||||
'JWT_ALGO' => getenv(name: 'JWT_ALGO'),
|
||||
'JWT_ISSUER' => getenv(name: 'JWT_ISSUER'),
|
||||
'JWT_SECRET' => getenv(name: 'JWT_SECRET'),
|
||||
'JWT_EXPIRATION' => (int) getenv(name: 'JWT_EXPIRATION'),
|
||||
|
||||
'DEFAULT_DATABASE_HOST' => getenv(name: 'DEFAULT_DATABASE_HOST'),
|
||||
'DEFAULT_DATABASE_PORT' => getenv(name: 'DEFAULT_DATABASE_PORT'),
|
||||
'DEFAULT_DATABASE_DRIVER' => getenv(name: 'DEFAULT_DATABASE_DRIVER'),
|
||||
'DEFAULT_DATABASE_SCHEMA' => getenv(name: 'DEFAULT_DATABASE_SCHEMA'),
|
||||
'DEFAULT_DATABASE_CHARSET' => getenv(name: 'DEFAULT_DATABASE_CHARSET'),
|
||||
'DEFAULT_DATABASE_USERNAME' => getenv(name: 'DEFAULT_DATABASE_USERNAME'),
|
||||
'DEFAULT_DATABASE_PASSWORD' => getenv(name: 'DEFAULT_DATABASE_PASSWORD'),
|
||||
];
|
||||
Reference in New Issue
Block a user