Example #1
0
 public function registerModule($baseDir, $MODULE_NAME)
 {
     // read module.ini file (if it exists) from module's directory
     if (file_exists("{$baseDir}/{$MODULE_NAME}/module.ini")) {
         $entries = parse_ini_file("{$baseDir}/{$MODULE_NAME}/module.ini");
         // check that current PHP version is greater or equal than module's
         // minimum required PHP version
         if (isset($entries["minimum_php_version"])) {
             $minimum = $entries["minimum_php_version"];
             $current = phpversion();
             if (strnatcmp($minimum, $current) > 0) {
                 $this->logger->log('WARN', "Could not load module" . " {$MODULE_NAME} as it requires at least PHP version '{$minimum}'," . " but current PHP version is '{$current}'");
                 return;
             }
         }
     }
     $newInstances = Registry::getNewInstancesInDir("{$baseDir}/{$MODULE_NAME}");
     foreach ($newInstances as $name => $className) {
         $this->registerInstance($MODULE_NAME, $name, new $className());
     }
     if (count($newInstances) == 0) {
         $this->logger->log('ERROR', "Could not load module {$MODULE_NAME}. No classes found with @Instance annotation!");
         return;
     }
 }
Example #2
0
 private function createGlobalInstances()
 {
     $newInstances = Registry::getNewInstancesInDir("./core");
     foreach ($newInstances as $name => $className) {
         Registry::setInstance($name, new $className());
     }
 }