/** * Register framework event handlers */ public static function init() { static $initDone = false; if ($initDone) { return; } $initDone = true; foreach (self::$types as $type) { self::$events[$type] = []; } self::register('core-init', 'Difra\\Debugger', 'init'); self::register('core-init', 'Difra\\Envi\\Setup', 'run'); self::register('core-init', 'Difra\\Envi\\Session', 'init'); self::register('core-init', 'Difra\\Autoloader', 'init'); self::register('plugins-load', 'Difra\\Plugger', 'init'); if (Envi::getMode() == 'web') { self::register('action-find', 'Difra\\Controller', 'init'); self::register('action-run', 'Difra\\Controller', 'run'); self::register('render-run', 'Difra\\View\\Output', 'start'); } if (file_exists($initPHP = DIR_ROOT . '/lib/init.php')) { /** @noinspection PhpIncludeInspection */ include_once $initPHP; } }