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

/**
 * Class Liaison
 *
 * @package ConcreteCoreConfigRepository
 */
class Liaison
{

    
/**
     * @var ConcreteCoreConfigRepositoryRepository
     */
    
protected $repository;

    
/**
     * @var string Default Namespace
     */
    
protected $default_namespace;

    
/**
     * Create a new configuration repository.
     *
     * @param ConcreteCoreConfigRepositoryRepository $repository
     * @param string                                      $default_namespace
     */
    
public function __construct(ConcreteCoreConfigRepositoryRepository $repository$default_namespace)
    {
        
$this->default_namespace $default_namespace;
        
$this->repository $repository;
    }

    
/**
     * @param $key
     * @return string
     */
    
protected function transformKey($key)
    {
        list(
$namespace$group$item) = $this->repository->parseKey($key);
        if (!
$namespace) {
            
$namespace $this->default_namespace;
        }

        
$collection "{$namespace}::{$group}";
        if (
$item) {
            
$collection .= ".{$item}";
        }

        return 
$collection;
    }

    
/**
     * @param $key
     * @return bool
     */
    
public function has($key)
    {
        return 
$this->repository->has($this->transformKey($key));
    }

    
/**
     * @param      $key
     * @param null $default
     * @return mixed
     */
    
public function get($key$default null)
    {
        return 
$this->repository->get($this->transformKey($key), $default);
    }

    
/**
     * @param $key
     * @param $value
     * @return bool
     */
    
public function save($key$value)
    {
        return 
$this->repository->save($this->transformKey($key), $value);
    }

    
/**
     * @param $key
     * @param $value
     */
    
public function set($key$value)
    {
        
$this->repository->set($this->transformKey($key), $value);
    }

    
/**
     * @param $key
     */
    
public function clear($key)
    {
        
$this->repository->clear($this->transformKey($key));
    }

    
/**
     * @return Repository
     */
    
public function getRepository()
    {
        return 
$this->repository;
    }

    
/**
     * @param Repository $repository
     */
    
public function setRepository($repository)
    {
        
$this->repository $repository;
    }

    
/**
     * @return string
     */
    
public function getDefaultNamespace()
    {
        return 
$this->default_namespace;
    }

    
/**
     * @param string $default_namespace
     */
    
public function setDefaultNamespace($default_namespace)
    {
        
$this->default_namespace $default_namespace;
    }

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