Beispiel #1
0
Datei: Dir.php Projekt: jasny/Q
 /**
  * ArrayAccess; Returns the value at specified offset, loading the section if needed.
  * 
  * @param string $key
  * @return Config_File
  */
 public function offsetGet($key)
 {
     if (parent::offsetExists($key)) {
         return parent::offsetGet($key);
     }
     $dirname = "{$this->_path}/{$key}";
     $filename = "{$dirname}.{$this->_ext}";
     $options = array();
     if ($this->_transformer) {
         $options['transformer'] = $this->_transformer;
     }
     if (is_dir($dirname)) {
         parent::offsetSet($key, new Config_Dir(Fs::dir($dirname), $options));
     } elseif (file_exists($filename)) {
         parent::offsetSet($key, new Config_File(Fs::file($filename), $options));
     } else {
         trigger_error("Configuration section '{$key}' doesn't exist for '{$this->_path}'", E_WARNING);
         return null;
     }
     return parent::offsetGet($key);
 }