bb8b0769cb
* 2.7: (70 commits) [travis] Use container-based infrastructure [HttpKernel] use ConfigCache::getPath() method when it exists [PropertyAccess] Fix setting public property on a class having a magic getter [Routing] Display file which contain deprecated option ContainerInterface: unused exception dropped bumped Symfony version to 2.6.8 updated VERSION for 2.6.7 updated CHANGELOG for 2.6.7 bumped Symfony version to 2.3.29 updated VERSION for 2.3.28 update CONTRIBUTORS for 2.3.28 updated CHANGELOG for 2.3.28 [Debug] Fixed ClassNotFoundFatalErrorHandlerTest [SecurityBundle] use access decision constants in config [SecurityBundle] use session auth constants in config PhpDoc fix in AbstractRememberMeServices [Filesystem] Simplified an if statement [SecurityBundle] Use Enum Nodes Instead Of Scalar [Debug 2.3] Fix test for PHP7 [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed ... Conflicts: src/Symfony/Bundle/DebugBundle/composer.json src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php src/Symfony/Component/Form/README.md src/Symfony/Component/Intl/README.md src/Symfony/Component/Security/README.md src/Symfony/Component/Translation/Loader/CsvFileLoader.php src/Symfony/Component/Translation/Loader/IniFileLoader.php src/Symfony/Component/Translation/Loader/MoFileLoader.php src/Symfony/Component/Translation/Loader/PhpFileLoader.php src/Symfony/Component/Translation/Loader/PoFileLoader.php src/Symfony/Component/Translation/Loader/YamlFileLoader.php src/Symfony/Component/Translation/README.md src/Symfony/Component/Translation/Translator.php src/Symfony/Component/Validator/README.md
66 lines
1.8 KiB
PHP
66 lines
1.8 KiB
PHP
<?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;
|
|
|
|
/**
|
|
* @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
|
|
*/
|
|
abstract class FileLoader extends ArrayLoader
|
|
{
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
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));
|
|
}
|
|
|
|
$messages = $this->loadResource($resource);
|
|
|
|
// empty resource
|
|
if (null === $messages) {
|
|
$messages = array();
|
|
}
|
|
|
|
// not an array
|
|
if (!is_array($messages)) {
|
|
throw new InvalidResourceException(sprintf('Unable to load file "%s".', $resource));
|
|
}
|
|
|
|
$catalogue = parent::load($messages, $locale, $domain);
|
|
|
|
if (class_exists('Symfony\Component\Config\Resource\FileResource')) {
|
|
$catalogue->addResource(new FileResource($resource));
|
|
}
|
|
|
|
return $catalogue;
|
|
}
|
|
|
|
/*
|
|
* @param string $resource
|
|
*
|
|
* @return array
|
|
*
|
|
* @throws InvalidResourceException If stream content has an invalid format.
|
|
*/
|
|
abstract protected function loadResource($resource);
|
|
}
|