| <?php namespace Apache\Usergrid\Native; | |
| /** | |
| * Copyright 2010-2014 baas-platform.com, Pty Ltd. or its affiliates. All Rights Reserved. | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"). | |
| * You may not use this file except in compliance with the License. | |
| * A copy of the License is located at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * or in the "license" file accompanying this file. This file is distributed | |
| * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either | |
| * express or implied. See the License for the specific language governing | |
| * permissions and limitations under the License. | |
| */ | |
| use ArrayAccess; | |
| /** | |
| * Class ConfigRepository | |
| * | |
| * @package Apache/Usergrid | |
| * @version 1.0.0 | |
| * @author Jason Kristian <jasonkristian@gmail.com> | |
| * @license Apache License, Version 2.0 | |
| * @copyright (c) 2008-2014, Baas Platform Pty. Ltd | |
| * @link http://baas-platform.com | |
| */ | |
| class ConfigRepository implements ArrayAccess | |
| { | |
| /** | |
| * The config file path. | |
| * | |
| * @var string | |
| */ | |
| protected $file; | |
| /** | |
| * The config data. | |
| * | |
| * @var array | |
| */ | |
| protected $config = []; | |
| /** | |
| * Constructor. | |
| * | |
| * @param string $file | |
| * @return \Apache\Usergrid\Native\ConfigRepository | |
| */ | |
| public function __construct($file) | |
| { | |
| $this->file = $file; | |
| $this->load(); | |
| } | |
| /** | |
| * Load the configuration file. | |
| * | |
| * @return void | |
| */ | |
| protected function load() | |
| { | |
| $this->config = require $this->file; | |
| } | |
| /** | |
| * {@inheritDoc} | |
| */ | |
| public function offsetExists($key) | |
| { | |
| return isset($this->config[$key]); | |
| } | |
| /** | |
| * {@inheritDoc} | |
| */ | |
| public function offsetGet($key) | |
| { | |
| return $this->config[$key]; | |
| } | |
| /** | |
| * {@inheritDoc} | |
| */ | |
| public function offsetSet($key, $value) | |
| { | |
| $this->config[$key] = $value; | |
| } | |
| /** | |
| * {@inheritDoc} | |
| */ | |
| public function offsetUnset($key) | |
| { | |
| unset($this->config[$key]); | |
| } | |
| } |