Server IP : 209.38.156.173 / Your IP : 216.73.216.122 [ Web Server : Apache/2.4.52 (Ubuntu) System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.1.2-1ubuntu2.22 Disable Function : NONE Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/php/Twig/Extension/ |
Upload File : |
<?php /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Twig\Extension; use Twig\NodeVisitor\NodeVisitorInterface; use Twig\TokenParser\TokenParserInterface; use Twig\TwigFilter; use Twig\TwigFunction; use Twig\TwigTest; /** * Used by \Twig\Environment as a staging area. * * @author Fabien Potencier <fabien@symfony.com> * * @internal */ final class StagingExtension extends AbstractExtension { private $functions = []; private $filters = []; private $visitors = []; private $tokenParsers = []; private $tests = []; public function addFunction(TwigFunction $function): void { if (isset($this->functions[$function->getName()])) { throw new \LogicException(sprintf('Function "%s" is already registered.', $function->getName())); } $this->functions[$function->getName()] = $function; } public function getFunctions(): array { return $this->functions; } public function addFilter(TwigFilter $filter): void { if (isset($this->filters[$filter->getName()])) { throw new \LogicException(sprintf('Filter "%s" is already registered.', $filter->getName())); } $this->filters[$filter->getName()] = $filter; } public function getFilters(): array { return $this->filters; } public function addNodeVisitor(NodeVisitorInterface $visitor): void { $this->visitors[] = $visitor; } public function getNodeVisitors(): array { return $this->visitors; } public function addTokenParser(TokenParserInterface $parser): void { if (isset($this->tokenParsers[$parser->getTag()])) { throw new \LogicException(sprintf('Tag "%s" is already registered.', $parser->getTag())); } $this->tokenParsers[$parser->getTag()] = $parser; } public function getTokenParsers(): array { return $this->tokenParsers; } public function addTest(TwigTest $test): void { if (isset($this->tests[$test->getName()])) { throw new \LogicException(sprintf('Test "%s" is already registered.', $test->getName())); } $this->tests[$test->getName()] = $test; } public function getTests(): array { return $this->tests; } }