Skip to content

Commit

Permalink
Add config and ctx member variables
Browse files Browse the repository at this point in the history
Drop intl size filter
Drop package parameter
Add container parameter
Clean token parser arguments
Cleanup
  • Loading branch information
Raphaël Gertz committed Dec 8, 2024
1 parent 569db7a commit 7a884a8
Showing 1 changed file with 30 additions and 6 deletions.
36 changes: 30 additions & 6 deletions Extension/PackExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@

namespace Rapsys\PackBundle\Extension;

use Psr\Container\ContainerInterface;

use Rapsys\PackBundle\Parser\TokenParser;
use Rapsys\PackBundle\RapsysPackBundle;
use Rapsys\PackBundle\Util\IntlUtil;
use Rapsys\PackBundle\Util\SluggerUtil;

use Symfony\Component\Asset\PackageInterface;
use Symfony\Component\Routing\RouterInterface;
use Symfony\Component\HttpKernel\Config\FileLocator;

use Twig\Extension\AbstractExtension;
Expand All @@ -26,11 +28,34 @@
*/
class PackExtension extends AbstractExtension {
/**
* Config array
*/
protected array $config;

/**
* The stream context instance
*/
protected mixed $ctx;

/**
* Creates pack extension
*
* {@inheritdoc}
*
* @link https://twig.symfony.com/doc/2.x/advanced.html
*
* @param ContainerInterface $container The ContainerInterface instance
* @param IntlUtil $intl The IntlUtil instance
* @param FileLocator $locator The FileLocator instance
* @param RouterInterface $router The RouterInterface instance
* @param SluggerUtil $slugger The SluggerUtil instance
*/
public function __construct(protected IntlUtil $intl, protected FileLocator $locator, protected PackageInterface $package, protected SluggerUtil $slugger, protected array $parameters) {
public function __construct(protected ContainerInterface $container, protected IntlUtil $intl, protected FileLocator $locator, protected RouterInterface $router, protected SluggerUtil $slugger) {
//Retrieve config
$this->config = $container->getParameter(RapsysPackBundle::getAlias());

//Set ctx
$this->ctx = stream_context_create($this->config['context']);
}

/**
Expand All @@ -40,9 +65,9 @@ public function __construct(protected IntlUtil $intl, protected FileLocator $loc
*/
public function getTokenParsers(): array {
return [
new TokenParser($this->locator, $this->package, $this->parameters['token'], 'stylesheet', $this->parameters['output']['css'], $this->parameters['filters']['css']),
new TokenParser($this->locator, $this->package, $this->parameters['token'], 'javascript', $this->parameters['output']['js'], $this->parameters['filters']['js']),
new TokenParser($this->locator, $this->package, $this->parameters['token'], 'image', $this->parameters['output']['img'], $this->parameters['filters']['img'])
new TokenParser($this->container, $this->locator, $this->router, $this->slugger, $this->config, $this->ctx, 'css', 'stylesheet'),
new TokenParser($this->container, $this->locator, $this->router, $this->slugger, $this->config, $this->ctx, 'js', 'javascript'),
new TokenParser($this->container, $this->locator, $this->router, $this->slugger, $this->config, $this->ctx, 'img', 'image')
];
}

Expand All @@ -60,7 +85,6 @@ public function getFilters(): array {
new \Twig\TwigFilter('intlcurrency', [$this->intl, 'currency']),
new \Twig\TwigFilter('intldate', [$this->intl, 'date'], ['needs_environment' => true]),
new \Twig\TwigFilter('intlnumber', [$this->intl, 'number']),
new \Twig\TwigFilter('intlsize', [$this->intl, 'size']),
new \Twig\TwigFilter('lcfirst', 'lcfirst'),
new \Twig\TwigFilter('short', [$this->slugger, 'short']),
new \Twig\TwigFilter('slug', [$this->slugger, 'slug']),
Expand Down

0 comments on commit 7a884a8

Please sign in to comment.