} $smarty->setCaching(Smarty::CACHING_OFF); } // 初始化 logger $logger = new \Core\Log\Wrapper(); /** * 用一个简单的全局函数方便日志的输出 * * @param string $msg 日志消息 * @param string $source 日志的来源,比如 'SQL' * @param string $level 日志等级 * * */ function printLog($msg, $source = '', $level = \Core\Log\Base::INFO) { global $logger; $logger->addLogInfo($level, $source, $msg); } // option 我们使用数据库实现 \Core\Plugin\Option\OptionHelper::setOptionDriver(new \Core\Plugin\Option\OptionDbDriver()); // 设置插件所在的路径 \Core\Plugin\PluginHelper::addPluginDir(PROTECTED_PATH . '/Plugin'); // 系统自带的插件 // 设置 Theme 所在的路径 \Core\Plugin\ThemeHelper::addPluginDir(PROTECTED_PATH . '/Theme'); // 加载运行环境变量设置 $f3->config(PROTECTED_PATH . '/Config/env.cfg'); // 加载全局变量设置 $f3->config(PROTECTED_PATH . '/Config/common.cfg'); // 根据环境变量的不同,加载对应的环境变量设置,开发环境和生产环境的配置显然是不一样的 $f3->config(PROTECTED_PATH . '/Config/common-' . $f3->get('sysConfig[env]') . '.cfg');
/** * 删除一个插件的活跃记录 * * @param string $pluginDirName */ public static function removeActivePlugin($pluginDirName) { $activePluginArray = PluginHelper::getActivePluginArray(); if (empty($activePluginArray)) { $activePluginArray = array(); } // 如果不存在,就不用管 if (!in_array($pluginDirName, $activePluginArray)) { return; } $activePluginArray = array_diff($activePluginArray, array($pluginDirName)); OptionHelper::saveOptionValue(PluginHelper::KEY_ACTIVE_PLUGIN_ARRAY, json_encode($activePluginArray)); }
/** * 设置系统的主题设置 * * @param string $systemTheme * @param string $themeDirName */ public static function setSystemThemeDirName($systemTheme, $themeDirName) { OptionHelper::saveOptionValue($systemTheme, $themeDirName); }
/** * 删除 option 的值 * * @param string $optionKey */ public static function removeOptionValue($optionKey) { $optionKey = static::makeUniqueOptionKey($optionKey); OptionHelper::removeOptionValue($optionKey); }