src/Component/Configuration/Twig/ConfigExtension.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\Component\Configuration\Twig;
  3. use App\Component\Configuration\Util\Config;
  4. use Twig\Extension\AbstractExtension;
  5. use Twig\TwigFunction;
  6. class ConfigExtension extends AbstractExtension
  7. {
  8.     private Config $config;
  9.     /**
  10.      * ConfigExtension constructor.
  11.      */
  12.     public function __construct(Config $config)
  13.     {
  14.         $this->config $config;
  15.     }
  16.     public function getFunctions(): array
  17.     {
  18.         return [
  19.             new TwigFunction('config_setting', [$this'getSetting'], ['is_safe' => ['html']]),
  20.             new TwigFunction('config_list', [$this'getSettingList']),
  21.         ];
  22.     }
  23.     /**
  24.      * @param string $name name of the setting
  25.      *
  26.      * @return mixed value of the setting
  27.      */
  28.     public function getSetting(string $name)
  29.     {
  30.         return $this->config->get($name);
  31.     }
  32.     /**
  33.      * Get a array list of all available config settings.
  34.      *
  35.      * @return array list of all config settings
  36.      */
  37.     public function getSettingList(): array
  38.     {
  39.         return $this->config->getList();
  40.     }
  41. }