當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Vars::settings方法代碼示例

本文整理匯總了PHP中Vars::settings方法的典型用法代碼示例。如果您正苦於以下問題:PHP Vars::settings方法的具體用法?PHP Vars::settings怎麽用?PHP Vars::settings使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Vars的用法示例。


在下文中一共展示了Vars::settings方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getSettings

 static function getSettings()
 {
     global $enabled_modules;
     $settings = false;
     // if already fetched, return it straight
     if (isset(self::$settings)) {
         return self::$settings;
     }
     // if table not exist, return null
     if (in_array('database', $enabled_modules)) {
         self::createTableIfNotExist();
         global $mysqli;
         // if not cached in db or in dev, load it
         $settings = self::findByName('system');
     }
     if (!$settings || ENV == 'dev') {
         require_once MODULESROOT . DS . 'core' . DS . 'includes' . DS . 'libraries' . DS . 'spyc' . DS . 'spyc.php';
         $settings = array();
         // load core module settings first
         $module_dir = MODULESROOT . DS . 'core';
         $settings = array_merge_recursive(Spyc::YAMLLoad($module_dir . DS . 'settings.yml'), $settings);
         $settings = array_merge_recursive(Spyc::YAMLLoad($module_dir . DS . 'routing.yml'), $settings);
         $settings = array_merge_recursive(Spyc::YAMLLoad($module_dir . DS . 'role.yml'), $settings);
         // loop through modules and merge all settings
         if ($handle = opendir(MODULESROOT)) {
             while (false !== ($entry = readdir($handle))) {
                 // skip any file starting with "."
                 if (preg_match('/^\\./', $entry)) {
                     continue;
                 }
                 // loop over the module folder
                 $module_dir = MODULESROOT . DS . $entry;
                 if (is_dir($module_dir) && in_array($entry, $enabled_modules) && $entry != 'core') {
                     if (is_file($module_dir . DS . 'settings.yml')) {
                         $settings = array_merge_recursive(Spyc::YAMLLoad($module_dir . DS . 'settings.yml'), $settings);
                     }
                     if (is_file($module_dir . DS . 'routing.yml')) {
                         $settings = array_merge_recursive(Spyc::YAMLLoad($module_dir . DS . 'routing.yml'), $settings);
                     }
                     if (is_file($module_dir . DS . 'role.yml')) {
                         $settings = array_merge_recursive(Spyc::YAMLLoad($module_dir . DS . 'role.yml'), $settings);
                     }
                 }
             }
         }
         // store in db
         if (in_array('database', $enabled_modules) && ENV != 'dev') {
             $var = new Vars();
             $var->setName('system');
             $var->setValue(serialize($settings));
             $var->save();
             self::$settings = $settings;
         }
         return $settings;
     } else {
         self::$settings = unserialize($settings->getValue());
         return self::$settings;
     }
 }
開發者ID:jeffreycai,項目名稱:chaoliu,代碼行數:59,代碼來源:Vars.class.php


注:本文中的Vars::settings方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。