You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.6 KiB
97 lines
2.6 KiB
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* @author Robert Strutts
|
|
* @copyright Copyright (c) 2010-2026, Robert Strutts.
|
|
* @license MIT
|
|
*/
|
|
|
|
use IOcornerstone\Psr4AutoloaderClass;
|
|
use IOcornerstone\Framework\{
|
|
Registry as Reg,
|
|
Console,
|
|
Configure,
|
|
CliDefaults,
|
|
ErrorHandler,
|
|
APICacheAge,
|
|
Common,
|
|
Enum\ExitOnDump as endDump,
|
|
DI,
|
|
Container\AutowireContainer,
|
|
LoadAll,
|
|
Http\Kernel,
|
|
Http\HttpFactory,
|
|
Http\RouteServiceProvider,
|
|
Log\Logger
|
|
};
|
|
|
|
define("MEMORY_BASELINE", memory_get_usage());
|
|
|
|
require_once IO_CORNERSTONE_FRAMEWORK . "Psr4AutoloaderClass.php";
|
|
|
|
$loader = new Psr4AutoloaderClass();
|
|
$loader->register();
|
|
$loader->addNamespace("IOcornerstone", IO_CORNERSTONE_FRAMEWORK);
|
|
if (defined("IO_CORNERSTONE_PROJECT")) {
|
|
$loader->addNamespace("Project", IO_CORNERSTONE_PROJECT);
|
|
}
|
|
define("PSR", IO_CORNERSTONE_FRAMEWORK . 'vendor' . DIRECTORY_SEPARATOR . 'psr' . DIRECTORY_SEPARATOR);
|
|
$loader->addNamespace("Psr\Log", PSR . 'log' . DIRECTORY_SEPARATOR . 'src');
|
|
$loader->addNamespace("Psr\Container", PSR . 'container' . DIRECTORY_SEPARATOR . 'src');
|
|
$loader->addNamespace("Psr\Http\Message", PSR . 'http-message' . DIRECTORY_SEPARATOR . 'src');
|
|
$loader->addNamespace("Psr\Http\Server", [
|
|
PSR . 'http-server-middleware' . DIRECTORY_SEPARATOR . 'src',
|
|
PSR . 'http-server-handler' . DIRECTORY_SEPARATOR . 'src'
|
|
]);
|
|
|
|
function dd($var = 'nothing', endDump $end = endDump::EXIT_AND_STOP)
|
|
{
|
|
Common::dump($var, $end);
|
|
}
|
|
|
|
function dump($var = 'nothing', endDump $end = endDump::KEEP_WORKING)
|
|
{
|
|
Common::dump($var, $end);
|
|
}
|
|
|
|
$debug = true; // <------------------- make false in production
|
|
$myErrorHandler = new ErrorHandler($debug);
|
|
$myErrorHandler->register();
|
|
|
|
Reg::set('loader', $loader);
|
|
Reg::set('di', new DI()); // Initialize our Dependency Injector
|
|
Reg::set('container', new AutowireContainer());
|
|
Reg::set('error_handler', $myErrorHandler);
|
|
Reg::set('debug', $debug);
|
|
|
|
Console::setupConsoleVars(); // Copy CLI Args into $_GET
|
|
|
|
if (defined("IO_CORNERSTONE_PROJECT")) {
|
|
LoadAll::init(IO_CORNERSTONE_PROJECT); // Load Configs and Services
|
|
}
|
|
|
|
function isLive(): bool
|
|
{
|
|
if (Configure::has('IOcornerstone', 'live')) {
|
|
$live = Configure::get('IOcornerstone', 'live');
|
|
|
|
if ($live === null) {
|
|
$live = true;
|
|
}
|
|
|
|
$debugger = ($live) ? false : true;
|
|
Reg::get('error_handler')->resetDebugger($debugger);
|
|
} else {
|
|
echo "Warning: LIVE not Set in Config!!!";
|
|
$live = Reg::get('debug') ? false : true;
|
|
}
|
|
return (bool) $live;
|
|
}
|
|
|
|
if (Console::isConsole()) {
|
|
CliDefaults::init();
|
|
}
|
|
|
|
$kernel = new Kernel()->run(); |