namespace Rapsys\PackBundle\Package;
+use Rapsys\PackBundle\Context\NullContext;
+
use Symfony\Component\Asset\Context\ContextInterface;
use Symfony\Component\Asset\Package;
use Symfony\Component\Asset\VersionStrategy\VersionStrategyInterface;
-use Rapsys\PackBundle\Context\NullContext;
-
/**
* {@inheritdoc}
*/
class PathPackage extends Package {
- //The base path
- protected $basePath;
-
- //The base url
- protected $baseUrl;
+ /**
+ * The base url
+ */
+ protected string $baseUrl;
/**
* {@inheritdoc}
*/
- public function __construct(string $basePath, VersionStrategyInterface $versionStrategy, ContextInterface $context = null) {
+ public function __construct(protected string $basePath, protected VersionStrategyInterface $versionStrategy, protected ?ContextInterface $context = null) {
//Without context use a null context
- $context = $context ?? new NullContext();
+ $this->context = $this->context ?? new NullContext();
//Call parent constructor
- parent::__construct($versionStrategy, $context);
+ parent::__construct($this->versionStrategy, $this->context);
//Without base path
if (empty($basePath)) {
}
//Set base url
- $this->baseUrl = $context->getBaseUrl();
+ $this->baseUrl = $this->context->getBaseUrl();
}
/**
+ * {@inheritdoc}
+ *
* Returns an absolute or root-relative public path
*
* Transform @BundleBundle to bundle and remove /Resources/public fragment from path
* @link https://symfony.com/doc/current/bundles.html#overridding-the-bundle-directory-structure
* @see vendor/symfony/framework-bundle/Command/AssetsInstallCommand.php +113
* @see vendor/symfony/framework-bundle/Command/AssetsInstallCommand.php +141
- *
- * {@inheritdoc}
*/
public function getUrl(string $path): string {
//Match url starting with a bundle name