diff options
Diffstat (limited to 'src/ERPHP.php')
| -rw-r--r-- | src/ERPHP.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/ERPHP.php b/src/ERPHP.php new file mode 100644 index 0000000..b688361 --- /dev/null +++ b/src/ERPHP.php @@ -0,0 +1,43 @@ +<?php + +namespace ERPHP; + +use ERPHP\Router\Router; + +class ERPHP +{ + public function run(): void + { + // start session + session_start(); + + // load config + Config::load(); + + // load plugins + $this->loadPlugins(); + + // load routes + Hook::addFilter("Router::getRouteFiles", function (array $routeFiles) { + $routeFiles[] = __DIR__ . "/routes.php"; + return $routeFiles; + }); + + Router::getInstance()->run(); + } + + private function loadPlugins(): void + { + $pluginsDirectory = Config::get("plugins_directory", dirname(__DIR__) . "/plugins"); + $pluginDirectories = scandir($pluginsDirectory); + + foreach ($pluginDirectories as $directory) { + if ($directory === "." || $directory === "..") { + continue; + } + + $composerConfig = file_get_contents("$pluginsDirectory/$directory/composer.json"); + include_once "$pluginsDirectory/$directory/index.php"; + } + } +} |
