Example #1
0
 /**
  * @throws \InvalidArgumentException
  */
 private function load()
 {
     $language = $this->config->getLanguage();
     $cache = $this->config->getCache();
     if ($cache->has($language)) {
         return;
     }
     $extension = $this->config->getExtension();
     if (!isset($this->drivers[$extension])) {
         throw new \InvalidArgumentException('undefined extension: ' . $extension);
     }
     $path = $this->config->getPath();
     /** @var InterfaceDriver $driver */
     $driver = new $this->drivers[$extension]();
     $path = sprintf('%s/%s.%s', $path, $language, $extension);
     $data = $driver->parse($path);
     $cache->set($data, $language);
 }