本文整理汇总了PHP中Zend_Config_Xml::merge方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Config_Xml::merge方法的具体用法?PHP Zend_Config_Xml::merge怎么用?PHP Zend_Config_Xml::merge使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Config_Xml
的用法示例。
在下文中一共展示了Zend_Config_Xml::merge方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: load
/**
* Склеивает все файлы в единый конфиг, попутно задействуя кеш
*
* @param string $path Путь к папке с файлами
* @param string $env APPLICATION_ENV
* @return array
*/
public static function load($path, $env)
{
$masterfiles = array();
if (file_exists($path . 'application.xml')) {
$handler = opendir($path);
while (($file = readdir($handler)) !== false) {
if (strtolower(pathinfo($file, PATHINFO_EXTENSION)) == 'xml') {
$masterfiles[] = $path . $file;
}
}
sort($masterfiles);
closedir($handler);
$cache = self::getCache($masterfiles);
$cacheid = md5($path);
if ($cache->test($cacheid)) {
return $cache->load($cacheid);
} else {
$config = new Zend_Config_Xml($path . 'application.xml', $env, array('allowModifications' => true));
foreach ($masterfiles as $file) {
if ($file != 'application.xml') {
$config->merge(new Zend_Config_Xml($file, $env));
}
}
$config = $config->toArray();
$cache->save($config, $cacheid);
return $config;
}
}
return false;
}
示例2: _loadConfig
private function _loadConfig()
{
$coreConfig = new Zend_Config_Xml($this->dir . 'configs/core.xml', 'core', true);
if ($coreConfig->mode == 'staging') {
$config = new Zend_Config_Xml($this->dir . 'configs/core.xml', $coreConfig->mode, true);
$config->merge($coreConfig);
} else {
/* załadowanie konfigiracji z cache'a */
if (!($config = $this->_cache->load('config'))) {
$config = new Zend_Config_Xml($this->dir . 'configs/core.xml', $coreConfig->mode, true);
$config->merge($coreConfig);
$this->_cache->save($config, 'config', array('config'));
}
}
$this->_config = $config;
$this->_config->serviceDir = substr(__FILE__, 0, strpos(__FILE__, 'core' . DIRECTORY_SEPARATOR . 'Bootstrap.php'));
Zend_Registry::set('config', $this->_config);
}