Remove hard dependency of RequestContext in AssetsExtension
This commit is contained in:
parent
aa58bb8048
commit
5ad4d8a359
@ -24,7 +24,7 @@ class AssetsExtension extends \Twig_Extension
|
|||||||
private $container;
|
private $container;
|
||||||
private $context;
|
private $context;
|
||||||
|
|
||||||
public function __construct(ContainerInterface $container, RequestContext $requestContext)
|
public function __construct(ContainerInterface $container, RequestContext $requestContext = null)
|
||||||
{
|
{
|
||||||
$this->container = $container;
|
$this->container = $container;
|
||||||
$this->context = $requestContext;
|
$this->context = $requestContext;
|
||||||
@ -94,6 +94,7 @@ class AssetsExtension extends \Twig_Extension
|
|||||||
* @param string $url The URL that has to be absolute
|
* @param string $url The URL that has to be absolute
|
||||||
*
|
*
|
||||||
* @return string The absolute URL
|
* @return string The absolute URL
|
||||||
|
* @throws \RuntimeException
|
||||||
*/
|
*/
|
||||||
private function ensureUrlIsAbsolute($url)
|
private function ensureUrlIsAbsolute($url)
|
||||||
{
|
{
|
||||||
@ -101,6 +102,10 @@ class AssetsExtension extends \Twig_Extension
|
|||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$this->context) {
|
||||||
|
throw new \RuntimeException('To generate an absolute URL for an asset, the Symfony Routing component is required.');
|
||||||
|
}
|
||||||
|
|
||||||
if ('' === $host = $this->context->getHost()) {
|
if ('' === $host = $this->context->getHost()) {
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
<service id="twig.extension.assets" class="%twig.extension.assets.class%" public="false">
|
<service id="twig.extension.assets" class="%twig.extension.assets.class%" public="false">
|
||||||
<tag name="twig.extension" />
|
<tag name="twig.extension" />
|
||||||
<argument type="service" id="service_container" />
|
<argument type="service" id="service_container" />
|
||||||
<argument type="service" id="router.request_context" />
|
<argument type="service" id="router.request_context" on-invalid="null" />
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
<service id="twig.extension.actions" class="%twig.extension.actions.class%" public="false">
|
<service id="twig.extension.actions" class="%twig.extension.actions.class%" public="false">
|
||||||
|
Reference in New Issue
Block a user