summaryrefslogtreecommitdiff
path: root/src/PluginLoader.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/PluginLoader.php')
-rw-r--r--src/PluginLoader.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/PluginLoader.php b/src/PluginLoader.php
new file mode 100644
index 0000000..c8da5fd
--- /dev/null
+++ b/src/PluginLoader.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace FlatFileForms;
+
+class PluginLoader
+{
+ public function __construct()
+ {
+ /**@var Utilities $utilities*/
+ global $utilities;
+
+ $pluginsDirectoryPath = $_ENV['app']['pluginsFolderPath'];
+
+ spl_autoload_register(function ($classname) use ($pluginsDirectoryPath) {
+ $classname = str_replace('FlatFileForms\\Plugins\\', '', $classname);
+
+ require_once
+ $pluginsDirectoryPath . '/' .
+ str_replace('\\', '/', $classname) .
+ '.php';
+ });
+
+ $pluginDirectories = $utilities->scandir($pluginsDirectoryPath);
+ foreach ($pluginDirectories as $directory) {
+ $pluginClass = 'FlatFileForms\\Plugins\\' . $directory . '\\Plugin';
+ $plugin = new $pluginClass();
+ }
+ }
+}