<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Translation\Loader; use Symfony\Component\Translation\Exception\InvalidResourceException; use Symfony\Component\Translation\Exception\LogicException; use Symfony\Component\Yaml\Exception\ParseException; use Symfony\Component\Yaml\Parser as YamlParser; use Symfony\Component\Yaml\Yaml; /** * YamlFileLoader loads translations from Yaml files. * * @author Fabien Potencier <fabien@symfony.com> */ class YamlFileLoader extends FileLoader { private $yamlParser; protected function loadResource(string $resource): array { if (null === $this->yamlParser) { if (!class_exists(\Symfony\Component\Yaml\Parser::class)) { throw new LogicException('Loading translations from the YAML format requires the Symfony Yaml component.'); } $this->yamlParser = new YamlParser(); } try { $messages = $this->yamlParser->parseFile($resource, Yaml::PARSE_CONSTANT); } catch (ParseException $e) { throw new InvalidResourceException(sprintf('The file "%s" does not contain valid YAML: ', $resource).$e->getMessage(), 0, $e); } if (null !== $messages && !\is_array($messages)) { throw new InvalidResourceException(sprintf('Unable to load file "%s".', $resource)); } return $messages ?: []; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
ArrayLoader.php | File | 1.37 KB | 0644 |
|
CsvFileLoader.php | File | 1.69 KB | 0644 |
|
FileLoader.php | File | 1.68 KB | 0644 |
|
IcuDatFileLoader.php | File | 1.79 KB | 0644 |
|
IcuResFileLoader.php | File | 2.72 KB | 0644 |
|
IniFileLoader.php | File | 537 B | 0644 |
|
JsonFileLoader.php | File | 1.49 KB | 0644 |
|
LoaderInterface.php | File | 950 B | 0644 |
|
MoFileLoader.php | File | 4.17 KB | 0644 |
|
PhpFileLoader.php | File | 1.02 KB | 0644 |
|
PoFileLoader.php | File | 4.98 KB | 0644 |
|
QtFileLoader.php | File | 2.77 KB | 0644 |
|
XliffFileLoader.php | File | 8.62 KB | 0644 |
|
YamlFileLoader.php | File | 1.57 KB | 0644 |
|