misuzu/misuzu.php

42 lines
1.2 KiB
PHP

<?php
namespace Misuzu;
define('MSZ_STARTUP', hrtime(true));
define('MSZ_ROOT', __DIR__);
require_once __DIR__ . '/vendor/autoload.php';
$msz = (function() {
$timings = new \Index\Performance\Timings(
new \Index\Performance\Stopwatch(MSZ_STARTUP),
);
try {
\Dotenv\Dotenv::createImmutable(Misuzu::PATH_ROOT)->load();
$sentry = Misuzu::env('SENTRY_DSN');
if(!empty($sentry))
\Sentry\init(['dsn' => $sentry]);
$whoops = new \Whoops\Run;
if(Misuzu::cli())
$whoops->pushHandler(new Whoops\SentryPlainTextHandler);
elseif(Misuzu::debug())
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
else
$whoops->pushHandler(new Whoops\SentryPageHandler);
$whoops->register();
return new MisuzuContext(
$timings,
Misuzu::env('DATABASE_DSN', 'null:'),
Misuzu::env('DOMAIN_ROLES', 'localhost=main,redirect,storage'),
Misuzu::env('STORAGE_PATH_LOCAL', Misuzu::PATH_STORAGE),
Misuzu::env('STORAGE_PATH_REMOTE', '/_storage'),
Misuzu::env('TEMPLATE_CACHE', ''),
);
} finally {
$timings->lap('startup');
}
})();