You are here

class Twig_SimpleFunction in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/twig/twig/lib/Twig/SimpleFunction.php \Twig_SimpleFunction

Represents a template function.

@author Fabien Potencier <fabien@symfony.com>

Hierarchy

Expanded class hierarchy of Twig_SimpleFunction

File

vendor/twig/twig/lib/Twig/SimpleFunction.php, line 17

View source
class Twig_SimpleFunction {
  protected $name;
  protected $callable;
  protected $options;
  protected $arguments = array();
  public function __construct($name, $callable, array $options = array()) {
    $this->name = $name;
    $this->callable = $callable;
    $this->options = array_merge(array(
      'needs_environment' => false,
      'needs_context' => false,
      'is_variadic' => false,
      'is_safe' => null,
      'is_safe_callback' => null,
      'node_class' => 'Twig_Node_Expression_Function',
      'deprecated' => false,
      'alternative' => null,
    ), $options);
  }
  public function getName() {
    return $this->name;
  }
  public function getCallable() {
    return $this->callable;
  }
  public function getNodeClass() {
    return $this->options['node_class'];
  }
  public function setArguments($arguments) {
    $this->arguments = $arguments;
  }
  public function getArguments() {
    return $this->arguments;
  }
  public function needsEnvironment() {
    return $this->options['needs_environment'];
  }
  public function needsContext() {
    return $this->options['needs_context'];
  }
  public function getSafe(Twig_Node $functionArgs) {
    if (null !== $this->options['is_safe']) {
      return $this->options['is_safe'];
    }
    if (null !== $this->options['is_safe_callback']) {
      return call_user_func($this->options['is_safe_callback'], $functionArgs);
    }
    return array();
  }
  public function isVariadic() {
    return $this->options['is_variadic'];
  }
  public function isDeprecated() {
    return $this->options['deprecated'];
  }
  public function getAlternative() {
    return $this->options['alternative'];
  }

}

Members