class TwigTest
Represents a template test.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Twig\AbstractTwigCallable implements \Twig\TwigCallableInterface
- class \Twig\TwigTest extends \Twig\AbstractTwigCallable
Expanded class hierarchy of TwigTest
See also
https://twig.symfony.com/doc/templates.html#test-operator
9 files declare their use of TwigTest
- CallExpression.php in vendor/
twig/ twig/ src/ Node/ Expression/ CallExpression.php - CoreExtension.php in vendor/
twig/ twig/ src/ Extension/ CoreExtension.php - DefaultFilter.php in vendor/
twig/ twig/ src/ Node/ Expression/ Filter/ DefaultFilter.php - DefinedTest.php in vendor/
twig/ twig/ src/ Node/ Expression/ Test/ DefinedTest.php - ExtensionInterface.php in vendor/
twig/ twig/ src/ Extension/ ExtensionInterface.php
File
-
vendor/
twig/ twig/ src/ TwigTest.php, line 23
Namespace
TwigView source
final class TwigTest extends AbstractTwigCallable {
/**
* @param callable|array{class-string, string}|null $callable A callable implementing the test. 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([
'node_class' => TestExpression::class,
'one_mandatory_argument' => false,
], $this->options);
}
public function getType() : string {
return 'test';
}
public function needsCharset() : bool {
return false;
}
public function needsEnvironment() : bool {
return false;
}
public function needsContext() : bool {
return false;
}
public function hasOneMandatoryArgument() : bool {
return (bool) $this->options['one_mandatory_argument'];
}
public function getMinimalNumberOfRequiredArguments() : int {
return parent::getMinimalNumberOfRequiredArguments() + 1;
}
}