From e3ac43df34d4681e920d3a1e7a7511155f60d4d8 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Mon, 7 Nov 2016 22:29:35 +0100 Subject: [PATCH] Fixing empty modules --- Module/ModuleFactory.php | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Module/ModuleFactory.php b/Module/ModuleFactory.php index 040b4913e..a63294078 100644 --- a/Module/ModuleFactory.php +++ b/Module/ModuleFactory.php @@ -16,6 +16,7 @@ namespace phpOMS\Module; use phpOMS\ApplicationAbstract; +use phpOMS\Autoloader; /** * ModuleFactory class. @@ -74,14 +75,19 @@ class ModuleFactory */ public static function getInstance(string $module, ApplicationAbstract $app) : ModuleAbstract { + $class = '\\Modules\\' . $module . '\\Controller'; + if (!isset(self::$loaded[$module])) { - try { - $class = '\\Modules\\' . $module . '\\Controller'; - $obj = new $class($app); - self::$loaded[$module] = $obj; - self::registerRequesting($obj); - self::registerProvided($obj); - } catch (\Exception $e) { + if(Autoloader::exists($class) !== false) { + try { + $obj = new $class($app); + self::$loaded[$module] = $obj; + self::registerRequesting($obj); + self::registerProvided($obj); + } catch (\Exception $e) { + self::$loaded[$module] = new NullModule($app); + } + } else { self::$loaded[$module] = new NullModule($app); } }