original_string: function loadFile($file, $optional=false, $varname=false, $recursive=false)
  	{
  		if (!is_file($file))
  		{
  			if ($optional)
  				return $this;
  			else
  				throw new Exception("Failed to read config file '$file'");
  		}
  
  		$newConfig = @include($file);
  
  		if(!is_array($newConfig) && $varname)
  			$newConfig = $$varname;
  
  		if(!is_array($newConfig) && !$optional)
  			throw new Exception("Config file '$file' doesn't contain a config");
  		else if(is_array($newConfig))
  		{
  			if ($recursive)
  				$this->_data = array_merge_recursive($this->_data, $newConfig);
  			else
  				$this->_data = array_merge($this->_data, $newConfig);
  		}
  
  		return $this;
  	}
code: function loadFile($file, $optional=false, $varname=false, $recursive=false)
  	{
  		if (!is_file($file))
  		{
  			if ($optional)
  				return $this;
  			else
  				throw new Exception("Failed to read config file '$file'");
  		}
  
  		$newConfig = @include($file);
  
  		if(!is_array($newConfig) && $varname)
  			$newConfig = $$varname;
  
  		if(!is_array($newConfig) && !$optional)
  			throw new Exception("Config file '$file' doesn't contain a config");
  		else if(is_array($newConfig))
  		{
  			if ($recursive)
  				$this->_data = array_merge_recursive($this->_data, $newConfig);
  			else
  				$this->_data = array_merge($this->_data, $newConfig);
  		}
  
  		return $this;
  	}
code_tokens: function loadFile ( $ file , $ optional = false , $ varname = false , $ recursive = false ) { if ( ! is_file ( $ file ) ) { if ( $ optional ) return $ this ; else throw new Exception ( "Failed to read config file '$file'" ) ; } $ newConfig = @ include ( $ file ) ; if ( ! is_array ( $ newConfig ) && $ varname ) $ newConfig = $ $ varname ; if ( ! is_array ( $ newConfig ) && ! $ optional ) throw new Exception ( "Config file '$file' doesn't contain a config" ) ; else if ( is_array ( $ newConfig ) ) { if ( $ recursive ) $ this -> _data = array_merge_recursive ( $ this -> _data , $ newConfig ) ; else $ this -> _data = array_merge ( $ this -> _data , $ newConfig ) ; } return $ this ; }
docstring: Loads a config file and merges its contents with the previously loaded settings
  @param string the name of the file to load
  @param bool whether the file is optional
  @param mixed the name of the variable to save as the data
  @param bool whether the config should merge recursively
  @chainable
docstring_tokens: Loads a config file and merges its contents with the previously loaded settings