Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. TwigFunction.php

class TwigFunction

Represents a template function.

@author Fabien Potencier <fabien@symfony.com>

Hierarchy

  • class \Twig\AbstractTwigCallable implements \Twig\TwigCallableInterface
    • class \Twig\TwigFunction extends \Twig\AbstractTwigCallable

Expanded class hierarchy of TwigFunction

See also

https://twig.symfony.com/doc/templates.html#functions

15 files declare their use of TwigFunction
CallExpression.php in vendor/twig/twig/src/Node/Expression/CallExpression.php
ComponentNodeVisitor.php in core/lib/Drupal/Core/Template/ComponentNodeVisitor.php
ComponentsTwigExtension.php in core/lib/Drupal/Core/Template/ComponentsTwigExtension.php
CoreExtension.php in vendor/twig/twig/src/Extension/CoreExtension.php
DebugExtension.php in vendor/twig/twig/src/Extension/DebugExtension.php

... See full list

File

vendor/twig/twig/src/TwigFunction.php, line 24

Namespace

Twig
View source
final class TwigFunction extends AbstractTwigCallable {
    
    /**
     * @param callable|array{class-string, string}|null $callable A callable implementing the function. If null, you need to overwrite the "node_class" option to customize compilation.
     */
    public function __construct(string $name, $callable = null, array $options = []) {
        parent::__construct($name, $callable, $options);
        $this->options = array_merge([
            'is_safe' => null,
            'is_safe_callback' => null,
            'node_class' => FunctionExpression::class,
            'parser_callable' => null,
        ], $this->options);
    }
    public function getType() : string {
        return 'function';
    }
    public function getParserCallable() : ?callable {
        return $this->options['parser_callable'];
    }
    public function getSafe(Node $functionArgs) : ?array {
        if (null !== $this->options['is_safe']) {
            return $this->options['is_safe'];
        }
        if (null !== $this->options['is_safe_callback']) {
            return $this->options['is_safe_callback']($functionArgs);
        }
        return [];
    }

}

Members

Title Sort descending Deprecated Modifiers Object type Summary Overriden Title Overrides
AbstractTwigCallable::$arguments private property
AbstractTwigCallable::$callable private property
AbstractTwigCallable::$dynamicName private property
AbstractTwigCallable::$name private property
AbstractTwigCallable::$options protected property
AbstractTwigCallable::getAlternative Deprecated public function Overrides TwigCallableInterface::getAlternative
AbstractTwigCallable::getArguments public function Overrides TwigCallableInterface::getArguments
AbstractTwigCallable::getCallable public function Overrides TwigCallableInterface::getCallable
AbstractTwigCallable::getDeprecatedVersion Deprecated public function Overrides TwigCallableInterface::getDeprecatedVersion
AbstractTwigCallable::getDeprecatingPackage Deprecated public function Overrides TwigCallableInterface::getDeprecatingPackage
AbstractTwigCallable::getDynamicName public function Overrides TwigCallableInterface::getDynamicName
AbstractTwigCallable::getMinimalNumberOfRequiredArguments public function Overrides TwigCallableInterface::getMinimalNumberOfRequiredArguments 2
AbstractTwigCallable::getName public function Overrides TwigCallableInterface::getName
AbstractTwigCallable::getNodeClass public function Overrides TwigCallableInterface::getNodeClass
AbstractTwigCallable::isDeprecated public function Overrides TwigCallableInterface::isDeprecated
AbstractTwigCallable::isVariadic public function Overrides TwigCallableInterface::isVariadic
AbstractTwigCallable::needsCharset public function Overrides TwigCallableInterface::needsCharset 1
AbstractTwigCallable::needsContext public function Overrides TwigCallableInterface::needsContext 1
AbstractTwigCallable::needsEnvironment public function Overrides TwigCallableInterface::needsEnvironment 1
AbstractTwigCallable::setArguments Deprecated public function
AbstractTwigCallable::triggerDeprecation public function
AbstractTwigCallable::withDynamicArguments public function Overrides TwigCallableInterface::withDynamicArguments
AbstractTwigCallable::__toString public function
TwigFunction::getParserCallable public function
TwigFunction::getSafe public function
TwigFunction::getType public function Overrides TwigCallableInterface::getType
TwigFunction::__construct public function Overrides AbstractTwigCallable::__construct

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal