diff options
Diffstat (limited to 'src/PluginLoader.php')
-rw-r--r-- | src/PluginLoader.php | 29 |
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(); + } + } +} |