You are here

public function Twig_Environment::addFilter in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/twig/twig/lib/Twig/Environment.php \Twig_Environment::addFilter()

Registers a Filter.

Parameters

string|Twig_SimpleFilter $name The filter name or a Twig_SimpleFilter instance:

Twig_FilterInterface|Twig_SimpleFilter $filter A Twig_FilterInterface instance or a Twig_SimpleFilter instance:

File

vendor/twig/twig/lib/Twig/Environment.php, line 921

Class

Twig_Environment
Stores the Twig configuration.

Code

public function addFilter($name, $filter = null) {
  if (!$name instanceof Twig_SimpleFilter && !($filter instanceof Twig_SimpleFilter || $filter instanceof Twig_FilterInterface)) {
    throw new LogicException('A filter must be an instance of Twig_FilterInterface or Twig_SimpleFilter');
  }
  if ($name instanceof Twig_SimpleFilter) {
    $filter = $name;
    $name = $filter
      ->getName();
  }
  else {
    @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated. Pass an instance of "Twig_SimpleFilter" instead when defining filter "%s".', __METHOD__, $name), E_USER_DEPRECATED);
  }
  if ($this->extensionInitialized) {
    throw new LogicException(sprintf('Unable to add filter "%s" as extensions have already been initialized.', $name));
  }
  $this->staging
    ->addFilter($name, $filter);
}