summaryrefslogtreecommitdiff
path: root/src/ERPHP.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/ERPHP.php')
-rw-r--r--src/ERPHP.php43
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";
+ }
+ }
+}