daux.io/libs/bootstrap.php

41 lignes
1.0 KiB
PHP

<?php
function loadApp() {
// Loaded as a dependency
if (file_exists(__DIR__ . '/../../../autoload.php')) {
return require_once __DIR__ . '/../../../autoload.php';
}
// Loaded in the project itself
if (file_exists(__DIR__ . '/../vendor/autoload.php')) {
return require_once __DIR__ . '/../vendor/autoload.php';
}
// Loaded in the project itself, when vendor isn't installed
if (file_exists(__DIR__ . '/../daux.phar')) {
define('PHAR_DIR', __DIR__ . '/..');
return require_once 'phar://' . __DIR__ . '/../daux.phar/vendor/autoload.php';
}
throw new Exception('Impossible to load Daux, missing vendor/ or daux.phar');
}
$loader = loadApp();
if ($loader) {
$ext = __DIR__ . '/../daux';
if (is_dir(getcwd() . "/daux")) {
$ext = getcwd() . "/daux";
}
$env = getenv('DAUX_EXTENSION');
if ($env && is_dir($env)) {
$ext = $env;
}
define('DAUX_EXTENSION', $ext);
$loader->setPsr4("Todaymade\\Daux\\Extension\\", $ext);
}