/** * Load a configuration file. The file type is determined by its extension. * * Supported file types are `ini`, `json`, `yml`, `php`, `csv` * * @param string $filename A supported configuration file. * @throws InvalidArgumentException If the filename is invalid. * @return mixed The file content. */ public function loadFile($filename) { if (!is_string($filename)) { throw new InvalidArgumentException('Translation file must be a string.'); } if (!file_exists($filename)) { throw new InvalidArgumentException(sprintf('Translation file "%s" does not exist', $filename)); } $ext = pathinfo($filename, PATHINFO_EXTENSION); if ($ext === 'csv') { return $this->loadCsvFile($filename); } else { return parent::loadFile($filename); } }
/** * @return array */ public function defaults() { $defaults = ['host' => 'localhost', 'port' => 11211, 'persistent' => true, 'weight' => 1]; $defaults = array_merge(parent::defaults(), $defaults); return $defaults; }