/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/AssetMapper/CompiledAssetMapperConfigReader.php
64 строки
2 KB
Simon André
[AssetMapper] Ignore compiled assets in debug mode
10 июл 2026, 02:43
10 июл 2026, 02:43
1cf0f01
Код
Авторство
О чём код?
<?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\AssetMapper; use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Path; /** * Reads and writes compiled configuration files for asset mapper. */ class CompiledAssetMapperConfigReader { private readonly Filesystem $filesystem; public function __construct( private readonly string $directory, private readonly bool $debug = false, ) { $this->filesystem = new Filesystem(); } public function configExists(string $filename): bool { // In debug mode, the compiled config is ignored so the dev environment always // recomputes assets from source instead of reading metadata that another // environment (e.g. a prior "asset-map:compile" run) may have left behind. if ($this->debug) { return false; } return is_file(Path::join($this->directory, $filename)); } public function loadConfig(string $filename): array { return json_decode($this->filesystem->readFile(Path::join($this->directory, $filename)), true, 512, \JSON_THROW_ON_ERROR); } public function saveConfig(string $filename, array $data): string { $path = Path::join($this->directory, $filename); $this->filesystem->dumpFile($path, json_encode($data, \JSON_PRETTY_PRINT | \JSON_THROW_ON_ERROR)); return $path; } public function removeConfig(string $filename): void { $path = Path::join($this->directory, $filename); if (is_file($path)) { $this->filesystem->remove($path); } } }