本文整理汇总了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;
}
}