/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Intl/Data/Bundle/Reader/JsonBundleReader.php
47 строк
1 KB
Alexander M. Turek
Prefix all sprintf() calls
20 июн 2024, 18:52
20 июн 2024, 18:52
6ce530c
Код
Авторство
О чём код?
<?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\Intl\Data\Bundle\Reader; use Symfony\Component\Intl\Exception\ResourceBundleNotFoundException; use Symfony\Component\Intl\Exception\RuntimeException; /** * Reads .json resource bundles. * * @author Bernhard Schussek <bschussek@gmail.com> * * @internal */ class JsonBundleReader implements BundleReaderInterface { public function read(string $path, string $locale): mixed { $fileName = $path.'/'.$locale.'.json'; // prevent directory traversal attacks if (\dirname($fileName) !== $path) { throw new ResourceBundleNotFoundException(\sprintf('The resource bundle "%s" does not exist.', $fileName)); } if (!is_file($fileName)) { throw new ResourceBundleNotFoundException(\sprintf('The resource bundle "%s" does not exist.', $fileName)); } $data = json_decode(file_get_contents($fileName), true); if (null === $data) { throw new RuntimeException(\sprintf('The resource bundle "%s" contains invalid JSON: ', $fileName).json_last_error_msg()); } return $data; } }