- removed getenvonce, placed in env dir instead
This commit is contained in:
parent
77a13960f2
commit
c181cdfb28
@ -11,16 +11,13 @@ use League\Route\Strategy\ApplicationStrategy;
|
|||||||
|
|
||||||
use Psr\Http\Message\ServerRequestInterface;
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
|
|
||||||
use Tell\I18n;
|
|
||||||
use Ulmus\Container\AdapterProxy;
|
|
||||||
|
|
||||||
use Laminas\Diactoros\ServerRequestFactory,
|
use Laminas\Diactoros\ServerRequestFactory,
|
||||||
Laminas\HttpHandlerRunner\Emitter\EmitterInterface;
|
Laminas\HttpHandlerRunner\Emitter\EmitterInterface;
|
||||||
|
|
||||||
use Ulmus\Ulmus;
|
use Ulmus\Ulmus;
|
||||||
|
|
||||||
class Kernel {
|
class Kernel
|
||||||
|
{
|
||||||
protected Container $container;
|
protected Container $container;
|
||||||
|
|
||||||
protected string $locale;
|
protected string $locale;
|
||||||
@ -33,9 +30,11 @@ class Kernel {
|
|||||||
|
|
||||||
public string $errorLogPath;
|
public string $errorLogPath;
|
||||||
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
public string $projectPath
|
public string $projectPath
|
||||||
) {
|
)
|
||||||
|
{
|
||||||
$this->setEnvironment();
|
$this->setEnvironment();
|
||||||
$this->initializeEngine();
|
$this->initializeEngine();
|
||||||
$this->setupContainer();
|
$this->setupContainer();
|
||||||
@ -49,15 +48,22 @@ class Kernel {
|
|||||||
$_ENV[$var] = $value;
|
$_ENV[$var] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function setEnvironment() {
|
protected function setEnvironment() : void
|
||||||
|
{
|
||||||
static::putenv('PROJECT_PATH', $this->projectPath);
|
static::putenv('PROJECT_PATH', $this->projectPath);
|
||||||
|
|
||||||
// Environment vars (accessible from \DI\env(), getenv(), $_ENV and $_SERVER)
|
// Environment vars (accessible from \DI\env(), getenv(), $_ENV and $_SERVER)
|
||||||
Dotenv::create(getenv("PROJECT_PATH"))->load();
|
Dotenv::create(getenv("PROJECT_PATH"))->load();
|
||||||
|
|
||||||
// Override using headers
|
// Override using headers
|
||||||
if ( ( $keys = getenv('KEYS') ) && ( $auth = $_SERVER["HTTP_X_DEV_AUTH"] ?? null ) && in_array($auth, explode(',', $keys)) ) {
|
if (($keys = getenv('KEYS')) && ($auth = $_SERVER["HTTP_X_DEV_AUTH"] ?? null) && in_array($auth, explode(',', $keys))) {
|
||||||
foreach (['APP_ENV', 'DEBUG',] as $env) {
|
unset($_SERVER["HTTP_X_DEV_AUTH"]);
|
||||||
|
|
||||||
|
unset($_ENV[$name], $_SERVER[$name]);
|
||||||
|
putenv("KEYS=");
|
||||||
|
|
||||||
|
|
||||||
|
foreach(['APP_ENV', 'DEBUG',] as $env) {
|
||||||
if (null !== $value = $_SERVER["HTTP_X_$env"] ?? null) {
|
if (null !== $value = $_SERVER["HTTP_X_$env"] ?? null) {
|
||||||
static::putenv($env, $value);
|
static::putenv($env, $value);
|
||||||
}
|
}
|
||||||
@ -66,7 +72,7 @@ class Kernel {
|
|||||||
|
|
||||||
// Paths and directories
|
// Paths and directories
|
||||||
foreach($this->paths as $name => $envkey) {
|
foreach($this->paths as $name => $envkey) {
|
||||||
if ( ! getenv($name) ) {
|
if (!getenv($name)) {
|
||||||
$path = getenv("PROJECT_PATH") . DIRECTORY_SEPARATOR . getenv($envkey);
|
$path = getenv("PROJECT_PATH") . DIRECTORY_SEPARATOR . getenv($envkey);
|
||||||
|
|
||||||
if (getenv('DEBUG') && ! file_exists($path)) {
|
if (getenv('DEBUG') && ! file_exists($path)) {
|
||||||
@ -88,7 +94,7 @@ class Kernel {
|
|||||||
setlocale(LC_ALL, $this->locale = getenv("DEFAULT_LOCAL"));
|
setlocale(LC_ALL, $this->locale = getenv("DEFAULT_LOCAL"));
|
||||||
setlocale(LC_TIME, getenv("DEFAULT_TIME"), getenv("DEFAULT_TIME_FALLBACK"));
|
setlocale(LC_TIME, getenv("DEFAULT_TIME"), getenv("DEFAULT_TIME_FALLBACK"));
|
||||||
|
|
||||||
if ( class_exists('Locale') ) {
|
if (class_exists('Locale')) {
|
||||||
\Locale::setDefault($this->locale);
|
\Locale::setDefault($this->locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,7 +124,7 @@ class Kernel {
|
|||||||
else {
|
else {
|
||||||
$compiled = getenv("CACHE_PATH") . "/di/CompiledContainer.php";
|
$compiled = getenv("CACHE_PATH") . "/di/CompiledContainer.php";
|
||||||
|
|
||||||
if ( file_exists($compiled) ) {
|
if (file_exists($compiled)) {
|
||||||
unlink($compiled);
|
unlink($compiled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -153,8 +159,7 @@ class Kernel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Must be removed from KERNEL !
|
# Must be removed from KERNEL !
|
||||||
$this->container->has('ulmus.caching') and ( Ulmus::$cache = $this->container->get('ulmus.caching') );
|
$this->container->has('ulmus.caching') and (Ulmus::$cache = $this->container->get('ulmus.caching'));
|
||||||
# $this->container->has(AdapterProxy::class) and ( $ )
|
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
@ -177,4 +182,4 @@ class Kernel {
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user