Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Config/FileLoader.php
Строк: 121
<?php
namespace ConcreteCoreConfig;

use 
IlluminateFilesystemFilesystem;

class 
FileLoader extends IlluminateConfigFileLoader implements LoaderInterface
{

    public function 
__construct(Filesystem $files)
    {
        
parent::__construct($filesDIR_APPLICATION '/config');
        
$this->addNamespace('core'DIR_BASE_CORE '/config');
    }

    
/**
     * Non-namespaced order:
     *   /concrete/config/group.php
     *   /application/config/generated_overrides/group.php
     *   /application/config/group.php
     *   /application/config/environment.group.php
     *
     * Namespaced order:
     *   /path/to/namespace/group.php
     *   /path/to/namespace/environment.group.php
     *   /application/config/generated_overrides/namespace/group.php
     *   /application/config/namespace/group.php
     *   /application/config/namespace/environment.group.php
     *
     * @param string $environment
     * @param string $group
     * @param null   $namespace
     * @return array
     */
    
public function load($environment$group$namespace null)
    {
        
$items = array();

        
// First we'll get the root configuration path for the environment which is
        // where all of the configuration files live for that namespace, as well
        // as any environment folders with their specific configuration items.
        
$path $this->getPath($namespace);

        if (
is_null($path)) {
            return 
$items;
        }

        
$paths = array();
        if (
$namespace === null) {
            
// No namespace, let's load up the concrete config first.
            
$items parent::load($environment$group'core');

            
$paths = array(
                
"{$path}/generated_overrides/{$group}.php",
                
"{$path}/{$group}.php",
                
"{$path}/{$environment}.{$group}.php");
        } else {
            
$paths = array(
                
"{$path}/{$group}.php",
                
"{$path}/{$environment}.{$group}.php",
                
"{$this->defaultPath}/generated_overrides/{$namespace}/{$group}.php",
                
"{$this->defaultPath}/{$namespace}/{$group}.php",
                
"{$this->defaultPath}/{$namespace}/{$environment}.{$group}.php");
        }

        foreach (
$paths as $file) {
            if (
$this->files->exists($file)) {
                
$items $this->mergeEnvironment($items$file);
            }
        }

        return 
$items;
    }

    protected function 
getPath($namespace)
    {
        
$path parent::getPath($namespace);
        if (!
$path) {
            
$path "{$this->defaultPath}/{$namespace}";
        }
        return 
$path;
    }

    public function 
clearNamespace($namespace)
    {
        
$path $this->getPath($namespace);
        if (
$path !== $this->getPath(null) && $this->files->isDirectory($namespace)) {
            
$this->files->deleteDirectory($path);
        }
    }

}
Онлайн: 0
Реклама