public function onApplicationEnd(Message $message) { $files = \MicroLoader::getFiles(); $forStore = []; foreach ($files as $class => $file) { if (\substr($class, 0, 6) === 'Micro\\') { $forStore[$class] = $file; } } \file_put_contents(config('micro_debug.handlers.performance'), "<?php\nreturn " . \var_export($forStore, \true) . ";", \LOCK_EX); }
<?php chdir(dirname(__DIR__)); include 'library/Micro/autoload.php'; if (is_file($composer = 'vendor/autoload.php')) { include $composer; } MicroLoader::register();
public function after(ResponseInterface $response) { if (config('micro_debug.handlers.fire_php')) { $db = \app('db'); if ($db) { $profiler = $db->getProfiler(); if ($profiler->getEnabled()) { $totalTime = $profiler->getTotalElapsedSecs(); $queryCount = $profiler->getTotalNumQueries(); $longestTime = 0; $longestQuery = \null; $total = sprintf('%.6f', microtime(\true) - $_SERVER['REQUEST_TIME_FLOAT']); $label = 'Executed ' . $queryCount . ' queries in ' . sprintf('%.6f', $totalTime) . ' seconds. (' . ($total ? \round($totalTime / $total * 100, 2) : 0) . '%)'; $table = []; $table[] = ['Time', 'Event', 'Parameters']; if ($profiler->getQueryProfiles()) { foreach ($profiler->getQueryProfiles() as $k => $query) { if ($query->getElapsedSecs() > $longestTime) { $longestTime = $query->getElapsedSecs(); $longestQuery = $k; } } foreach ($profiler->getQueryProfiles() as $k => $query) { $table[] = [\sprintf('%.6f', $query->getElapsedSecs()) . ($k == $longestQuery ? ' !!!' : ''), $query->getQuery(), ($params = $query->getQueryParams()) ? $params : \null]; } } FirePHP\FirePHP::getInstance()->table('DB - ' . $label, $table); } } } if (\config('micro_debug.handlers.dev_tools')) { if ($response instanceof HtmlResponse) { $body = $response->getBody(); if ($body->isSeekable()) { $body->rewind(); } $b = $body->getContents(); $b = explode('</body>', $b); $b[0] .= str_replace(array("\n", "\t", "\r"), "", $this->view->render()) . '</body>'; $response->withBody(new TempStream(implode('', $b))); } } if (($fileForCache = \config('micro_debug.handlers.performance')) !== \null) { $forStore = []; foreach (\MicroLoader::getFiles() as $class => $file) { if (\substr($class, 0, 6) === 'Micro\\') { $forStore[$class] = $file; } } \file_put_contents($fileForCache, "<?php\nreturn " . \var_export($forStore, \true) . ";", \LOCK_EX); } return $response; }
<?php chdir(dirname(__DIR__)); putenv('APP_ENV=development'); include 'library/Micro/autoload.php'; if (is_file($composer = 'vendor/autoload.php')) { include $composer; } MicroLoader::register(); if (is_file($classes = 'data/classes.php') === \true) { MicroLoader::setFiles(include $classes); } if (env('development')) { error_reporting(E_ALL | E_NOTICE); ini_set('display_errors', 1); } else { error_reporting(0); ini_set('display_errors', 0); } try { ob_start('ob_gzhandler') || ob_start(); $app = (include 'application/start.php'); $app->run(); } catch (\Exception $e) { if (env('development')) { echo $e->getMessage(); } }
<?php use Micro\Application\Application; use Micro\Application\Utils; $config = []; foreach (glob('{application/config/*.php,application/config/packages/*.php}', GLOB_BRACE) as $file) { $config = Utils::merge($config, include $file); } if (isset($config['packages'])) { MicroLoader::addPath($config['packages']); } $app = new Application($config); $app->registerDefaultServices(); $app->get('router')->mapFromConfig()->loadDefaultRoutes(); return $app;
public function marshalConfigKeys() { $config = $this->container->get('config'); $middlewares = $config->get('middleware', []); if (!empty($middlewares)) { foreach ($middlewares as $middleware) { if (is_array($middleware)) { $this->add($middleware[0], $middleware[1]); } else { $this->add($middleware); } } } $dependencies = $config->get('dependencies', []); if (!empty($dependencies)) { $this->container->configure($dependencies); } $files = $config->get('microloader.files', []); if (!empty($files)) { \MicroLoader::addFiles($files); } $session = $config->get('session', []); if (!empty($session)) { Session::register($session); } }