diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-05-02 15:54:22 +0200 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-05-02 15:54:22 +0200 |
| commit | f6933b82bbdb767480abf4cf6818b2db56fae1cc (patch) | |
| tree | 377440bff6bc52b83aed6b07273ee478424184f3 /Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php | |
| parent | 14f4818cc4279de6e911189db718339381f03b8a (diff) | |
| download | InternetTechnologien-f6933b82bbdb767480abf4cf6818b2db56fae1cc.tar.gz InternetTechnologien-f6933b82bbdb767480abf4cf6818b2db56fae1cc.zip | |
Use composer to pull in propel and set it up
Diffstat (limited to 'Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php')
| -rw-r--r-- | Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php b/Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php new file mode 100644 index 0000000..e50e0fa --- /dev/null +++ b/Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/Loader/YamlFileLoader.php @@ -0,0 +1,71 @@ +<?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\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; +use Symfony\Component\Yaml\Parser as YamlParser; +use Symfony\Component\Yaml\Exception\ParseException; + +/** + * YamlFileLoader loads translations from Yaml files. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class YamlFileLoader extends ArrayLoader +{ + private $yamlParser; + + /** + * {@inheritdoc} + * + * @api + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + if (null === $this->yamlParser) { + $this->yamlParser = new YamlParser(); + } + + try { + $messages = $this->yamlParser->parse(file_get_contents($resource)); + } catch (ParseException $e) { + throw new InvalidResourceException(sprintf('Error parsing YAML, invalid file "%s"', $resource), 0, $e); + } + + // empty file + if (null === $messages) { + $messages = array(); + } + + // not an array + if (!is_array($messages)) { + throw new InvalidResourceException(sprintf('The file "%s" must contain a YAML array.', $resource)); + } + + $catalogue = parent::load($messages, $locale, $domain); + $catalogue->addResource(new FileResource($resource)); + + return $catalogue; + } +} |
