1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- /**
- * File-based configuration reader. Multiple configuration directories can be
- * used by attaching multiple instances of this class to [Kohana_Config].
- *
- * @package Kohana
- * @category Configuration
- * @author Kohana Team
- * @copyright (c) Kohana Team
- * @license https://koseven.ga/LICENSE.md
- */
- class Kohana_Config_File_Reader implements Kohana_Config_Reader {
- /**
- * The directory where config files are located
- * @var string
- */
- protected $_directory = '';
- /**
- * Creates a new file reader using the given directory as a config source
- *
- * @param string $directory Configuration directory to search
- */
- public function __construct($directory = 'config')
- {
- // Set the configuration directory name
- $this->_directory = trim($directory, '/');
- }
- /**
- * Load and merge all of the configuration files in this group.
- *
- * $config->load($name);
- *
- * @param string $group configuration group name
- * @return $this current object
- * @uses Kohana::load
- */
- public function load($group)
- {
- $config = [];
- if ($files = Kohana::find_file($this->_directory, $group, NULL, TRUE))
- {
- foreach ($files as $file)
- {
- // Merge each file to the configuration array
- $config = Arr::merge($config, Kohana::load($file));
- }
- }
- return $config;
- }
- }
|