本文整理汇总了PHP中Zend\Config\Config::merge方法的典型用法代码示例。如果您正苦于以下问题:PHP Config::merge方法的具体用法?PHP Config::merge怎么用?PHP Config::merge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Config\Config
的用法示例。
在下文中一共展示了Config::merge方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildHydrator
protected function buildHydrator($product, $direction)
{
$this->assertOptionsValid();
$config = $this->options->getConfig();
$class = $this->options->getClass();
$hydrator = new ClassMethods();
if (!isset($config[$this->options->getClass()][$product])) {
return $hydrator;
}
$tmp = new Config(array());
if (isset($config[$class]['*'])) {
$tmp = new Config($config[$class]['*']);
}
if (isset($config[$class][$product])) {
$productConfig = new Config($config[$class][$product]);
$tmp = $productConfig->merge($tmp);
}
$config = $tmp['shared'];
if (isset($tmp[$direction])) {
$config->merge($tmp[$direction]);
}
$config = $config->toArray();
if (!empty($config['map'])) {
$hydrator->setNamingStrategy(new ArrayMapNamingStrategy($config['map']));
}
if (!empty($config['strategy'])) {
foreach ($config['strategy'] as $name => $strategyCallback) {
$hydrator->addStrategy($name, $strategyCallback());
}
}
if (!empty($config['options'])) {
$this->options->setFromArray($config['options']);
}
return $hydrator;
}
示例2: _getConfig
protected function _getConfig()
{
$config = new Config(include 'config/module.config.global.php');
if (file_exists('config/module.config.local.php')) {
$config->merge(new Config(include 'config/module.config.local.php'));
}
return $config['jvandemo_ogone'];
}
示例3: setConfig
/**
* Sets configuration for the command, allows to override config in runtime
*
* @param Config $config
* @param bool $merge
*/
public function setConfig(Config $config, $merge = true)
{
if ($this->config && $merge) {
$this->config->merge($config);
} else {
$this->config = $config;
}
}
示例4: update
/**
* Обновить запись.
* Метод PUT для RESTfull.
*/
public function update($id, $data)
{
$result = new JsonModel();
$lincutConfigPath = $_SERVER["DOCUMENT_ROOT"] . "/lincut.config.php";
// Создаем в памяти новый конфигурационный файл с новыми настройками
$lincutConfigNew = new Config(array(), true);
$lincutConfigNew->lincut = array();
$lincutConfigNew->lincut->wkhtmltopdf = array();
$lincutConfigNew->lincut->restriction = array();
if (array_key_exists("wkhtmltopdf_path", $data)) {
$lincutConfigNew->lincut->wkhtmltopdf->path = $data["wkhtmltopdf_path"];
}
if (array_key_exists("restriction_mode", $data)) {
$lincutConfigNew->lincut->restriction->mode = $data["restriction_mode"];
}
if (array_key_exists("restriction_up_time", $data)) {
$lincutConfigNew->lincut->restriction->uptime = $data["restriction_up_time"];
}
if (array_key_exists("restriction_up_count", $data)) {
$lincutConfigNew->lincut->restriction->upcount = $data["restriction_up_count"];
}
if (array_key_exists("saw", $data)) {
$lincutConfigNew->lincut->saw = $data["saw"];
}
if (array_key_exists("waste", $data)) {
$lincutConfigNew->lincut->waste = $data["waste"];
}
$dbwcad = "db/wcad";
$lincutConfigNew->db = array();
$lincutConfigNew->db->adapters = array();
$lincutConfigNew->db->adapters->{$dbwcad} = array();
if (array_key_exists("db_wcad_servername", $data)) {
$lincutConfigNew->db->adapters->{$dbwcad}->servername = $data["db_wcad_servername"];
}
if (array_key_exists("db_wcad_database", $data)) {
$lincutConfigNew->db->adapters->{$dbwcad}->database = $data["db_wcad_database"];
}
if (array_key_exists("db_wcad_username", $data)) {
$lincutConfigNew->db->adapters->{$dbwcad}->username = $data["db_wcad_username"];
}
if (array_key_exists("db_wcad_password", $data)) {
$lincutConfigNew->db->adapters->{$dbwcad}->password = $data["db_wcad_password"];
}
// Открываем существующий файл настроек, если он имеется в наличии
$lincutConfig = array();
if (is_file($lincutConfigPath)) {
$lincutConfig = \Zend\Config\Factory::fromFile($lincutConfigPath);
}
$lincutConfig = new Config($lincutConfig, true);
$lincutConfig->merge($lincutConfigNew);
// Сохраняем настройки
$writer = new \Zend\Config\Writer\PhpArray();
$writer->toFile($lincutConfigPath, $lincutConfig);
// Возвращаем результат операции
$result->success = true;
return $result;
}
示例5: collect
/**
* @inheritDoc
*/
public function collect($handle, $area = null)
{
$areas = [LayoutUpdaterInterface::AREA_GLOBAL, $area];
$structure = new Config([], true);
foreach ($areas as $area) {
$config = isset($this->config[$area][$handle]) ? (array) $this->config[$area][$handle] : [];
$structure->merge(new Config($config, true));
}
return $structure;
}
示例6: init
/**
* Merges the app config with the siteaccess config
*/
public function init()
{
// Add siteaccess specific config
$configHandler = new Config($this->serviceManager->get('config'));
$configHandler->merge($this->addConfig());
$this->serviceManager->setAllowOverride(true);
$this->serviceManager->setService('config', $configHandler->toArray());
$this->serviceManager->setAllowOverride(false);
// not needed I think
#$this->baseXMSServices->setService( 'siteaccess', $this );
}
示例7: getDocumentManager
/**
* @return DocumentManager
*/
public function getDocumentManager()
{
$factory = new DocumentManagerFactory();
$sm = Bootstrap::getServiceManager();
$sm->setAllowOverride(true);
$config = $sm->get('Config');
$c = new Config(['eoko' => ['odm' => ['hydrator' => ['class' => 'Zend\\Stdlib\\Hydrator\\ClassMethods', 'strategies' => ['Eoko\\ODM\\Metadata\\Annotation\\DateTime' => new DateTimeFormatterStrategy()]]]]]);
$c->merge(new Config($config));
$sm->setService('Config', $c->toArray());
return $factory->createService($sm);
}
示例8: getFileAsConfig
/**
* Get result from cache or read from php file
*
* @param string $file path to file and filename
* @param string $key template file ident
* @param ServiceLocatorInterface $sl
*/
protected function getFileAsConfig($file, $key, $sl)
{
$cache = $sl->get(static::CONTENTINUM_CACHE);
if (!($result = $cache->getItem($key))) {
$result = new Config(include $file);
if (is_file(CON_ROOT_PATH . '/data/opt/customer.config.php')) {
$result->merge(new Config(include CON_ROOT_PATH . '/data/opt/customer.config.php'));
}
$cache->setItem($key, $result);
}
return $result;
}
示例9: fetchHandle
/**
* @param string $handle
*/
private function fetchHandle($handle)
{
foreach ($this->collectors->getIterator() as $collector) {
$tempStructure = $collector->collect($handle, $this->getArea());
if ($includes = $tempStructure->get(self::INSTRUCTION_INCLUDE)) {
foreach ($includes as $include) {
$this->fetchHandle($include);
}
}
$this->layoutStructure->merge($tempStructure);
}
}
示例10: setupConfig
public static function setupConfig(Container $container)
{
$container->add('config', function () {
$DS = DIRECTORY_SEPARATOR;
$confPath = ROOT . $DS . 'conf' . $DS;
$reader = new Ini();
$config = new Config($reader->fromFile($confPath . 'default.ini'));
if (file_exists($confPath . 'local.ini')) {
$config->merge(new Config($reader->fromFile($confPath . 'local.ini')));
}
return $config;
}, true);
}
示例11: getCommandConfig
/**
* Gets the config for given command key
*
* @param string $commandKey
* @return Config
*/
protected function getCommandConfig($commandKey)
{
if (isset($this->configsPerCommandKey[$commandKey])) {
return $this->configsPerCommandKey[$commandKey];
}
$config = new Config($this->config->get('default')->toArray(), true);
if ($this->config->__isset($commandKey)) {
$commandConfig = $this->config->get($commandKey);
$config->merge($commandConfig);
}
$this->configsPerCommandKey[$commandKey] = $config;
return $config;
}
示例12: generateConfigFile
private function generateConfigFile(Config $new_config)
{
$config_file = 'config/autoload/local.php';
// If there is a config file at that path, so merge the configuration to it.
$config = array();
if (file_exists($config_file)) {
$config = (include $config_file);
}
$reader = new Config($config);
$reader->merge($new_config);
$writer = new \Zend\Config\Writer\PhpArray();
$writer->toFile($config_file, $reader);
}
示例13: getConfig
public function getConfig()
{
$config = new Config(array());
if (is_dir(__DIR__ . '/config')) {
$iterator = new \RegexIterator(new \DirectoryIterator(__DIR__ . '/config'), '#\\.config\\.php$#i');
foreach ($iterator as $file) {
/** @var $file \DirectoryIterator */
if ($file->isReadable()) {
$subConf = new Config(include $file->getRealPath());
$config->merge($subConf);
}
}
}
return $config;
}
示例14: getNavigation
/**
* @throws \ErrorException
*
* @return array
*/
public function getNavigation()
{
try {
$navigationDefinition = Factory::fromFile($this->rootNavigationFile, true);
} catch (\Exception $e) {
$navigationDefinition = new Config([]);
}
foreach ($this->navigationSchemaFinder->getSchemaFiles() as $moduleNavigationFile) {
if (!file_exists($moduleNavigationFile->getPathname())) {
throw new ErrorException('Navigation-File does not exist: ' . $moduleNavigationFile);
}
$configFromFile = Factory::fromFile($moduleNavigationFile->getPathname(), true);
$navigationDefinition->merge($configFromFile);
}
return $navigationDefinition->toArray();
}
示例15: getFileAsConfig
/**
* Get result from cache or read from php file
*
* @param string $file path to file and filename
* @param string $key template file ident
* @param ServiceLocatorInterface $sl
*/
protected function getFileAsConfig($file, $key, $sl)
{
$cache = $sl->get(static::CONTENTINUM_CACHE);
if (!($result = $cache->getItem($key))) {
$i = 1;
foreach ($file as $singleFile) {
if (1 === $i) {
$result = new Config(include $singleFile);
} else {
$result->merge(new Config(include $singleFile));
}
$i++;
}
$cache->setItem($key, $result);
}
return $result;
}