/** * Auto load module from database */ public function _initModule() { //Create new cache $cache = ZCache::getInstance(ZCMS_APPLICATION); CoreOptions::initOrUpdateCacheOptions(); //Load module $registerModules = $cache->get(self::ZCMS_APPLICATION_CACHE_MODULES); if ($registerModules === null) { /** * @var \Phalcon\Db\Adapter\Pdo\Postgresql $db */ $db = $this->getDI()->get('db'); $query = 'SELECT base_name, class_name, path FROM core_modules WHERE published = 1'; $modules = $db->fetchAll($query); $registerModules = []; foreach ($modules as $module) { $registerModules[$module['base_name']] = ['className' => $module['class_name'], 'path' => APP_DIR . $module['path']]; } $cache->save(self::ZCMS_APPLICATION_CACHE_MODULES, $registerModules); } $this->registerModules($registerModules); }