コード例 #1
0
 /**
  * Based heavily on Zend_Application->_loadConfig
  * Load configuration file of options.
  *
  * @param  string $file
  * @throws Zend_Application_Exception When invalid configuration file is provided
  * @return array
  */
 protected function _loadConfig($file)
 {
     if (!Zend_Loader::isReadable($file)) {
         return;
     }
     $environment = $this->_bootstrap->getApplication()->getEnvironment();
     $suffix = strtolower(pathinfo($file, PATHINFO_EXTENSION));
     switch ($suffix) {
         case 'ini':
             $config = new Zend_Config_Ini($file, $environment);
             break;
         case 'xml':
             $config = new Zend_Config_Xml($file, $environment);
             break;
         case 'php':
         case 'inc':
             $config = (include $file);
             if (!is_array($config)) {
                 throw new Zend_Application_Exception('Invalid configuration file provided; PHP file does not return array value');
             }
             return $config;
         default:
             throw new Zend_Application_Exception('Invalid configuration file provided; unknown config type');
             break;
     }
     return $config->toArray();
 }