/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Asset/Package.php
63 строки
2 KB
Nicolas Grekas
Merge branch '7.0' into 7.1
23 янв 2024, 18:06
23 янв 2024, 18:06
6ae74d3
Код
Авторство
О чём код?
<?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\Asset; use Symfony\Component\Asset\Context\ContextInterface; use Symfony\Component\Asset\Context\NullContext; use Symfony\Component\Asset\VersionStrategy\VersionStrategyInterface; /** * Basic package that adds a version to asset URLs. * * @author Kris Wallsmith <kris@symfony.com> * @author Fabien Potencier <fabien@symfony.com> */ class Package implements PackageInterface { private ContextInterface $context; public function __construct( private VersionStrategyInterface $versionStrategy, ?ContextInterface $context = null, ) { $this->context = $context ?? new NullContext(); } public function getVersion(string $path): string { return $this->versionStrategy->getVersion($path); } public function getUrl(string $path): string { if ($this->isAbsoluteUrl($path)) { return $path; } return $this->versionStrategy->applyVersion($path); } protected function getContext(): ContextInterface { return $this->context; } protected function getVersionStrategy(): VersionStrategyInterface { return $this->versionStrategy; } protected function isAbsoluteUrl(string $url): bool { return str_contains($url, '://') || str_starts_with($url, '//'); } }