Source of file Package.php
Size: 1,573 Bytes - Last Modified: 2013-07-17T08:22:21+02:00
/home/theseer/Downloads/Symfony/vendor/symfony/symfony/src/Symfony/Component/Templating/Asset/Package.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?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\Templating\Asset; /** * The basic package will add a version to asset URLs. * * @author Kris Wallsmith <kris@symfony.com> */ class Package implements PackageInterface { private $version; private $format; /** * Constructor. * * @param string $version The package version * @param string $format The format used to apply the version */ public function __construct($version = null, $format = null) { $this->version = $version; $this->format = $format ?: '%s?%s'; } public function getVersion() { return $this->version; } public function getUrl($path) { if (false !== strpos($path, '://') || 0 === strpos($path, '//')) { return $path; } return $this->applyVersion($path); } /** * Applies version to the supplied path. * * @param string $path A path * * @return string The versionized path */ protected function applyVersion($path) { if (null === $this->version) { return $path; } $versionized = sprintf($this->format, ltrim($path, '/'), $this->version); if ($path && '/' == $path[0]) { $versionized = '/'.$versionized; } return $versionized; } } |