Nette\DI\Config\Loader::load PHP Метод

load() публичный Метод

Reads configuration from file.
public load ( $file, $section = NULL ) : array
Результат array
    public function load($file, $section = NULL)
    {
        if (!is_file($file) || !is_readable($file)) {
            throw new Nette\FileNotFoundException("File '{$file}' is missing or is not readable.");
        }
        $this->dependencies[] = $file;
        $data = $this->getAdapter($file)->load($file);
        if ($section) {
            if (isset($data[self::INCLUDES_KEY])) {
                throw new Nette\InvalidStateException("Section 'includes' must be placed under some top section in file '{$file}'.");
            }
            $data = $this->getSection($data, $section, $file);
        }
        // include child files
        $merged = [];
        if (isset($data[self::INCLUDES_KEY])) {
            Validators::assert($data[self::INCLUDES_KEY], 'list', "section 'includes' in file '{$file}'");
            foreach ($data[self::INCLUDES_KEY] as $include) {
                $merged = Helpers::merge($this->load(dirname($file) . '/' . $include), $merged);
            }
        }
        unset($data[self::INCLUDES_KEY]);
        return Helpers::merge($data, $merged);
    }

Usage Example

Пример #1
0
 /**
  * Adds new configuration from file.
  * @return self
  */
 public function loadConfig(string $file) : self
 {
     $loader = new Config\Loader();
     $this->addConfig($loader->load($file));
     $this->addDependencies($loader->getDependencies());
     return $this;
 }
All Usage Examples Of Nette\DI\Config\Loader::load