1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
-
- /*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
- /**
- * Represents a template function.
- *
- * @package twig
- * @author Fabien Potencier <fabien@symfony.com>
- */
- abstract class Twig_Function implements Twig_FunctionInterface
- {
- protected $options;
-
- public function __construct(array $options = array())
- {
- $this->options = array_merge(array(
- 'needs_environment' => false,
- 'needs_context' => false,
- ), $options);
- }
-
- public function needsEnvironment()
- {
- return $this->options['needs_environment'];
- }
-
- public function needsContext()
- {
- return $this->options['needs_context'];
- }
-
- public function getSafe(Twig_Node $functionArgs)
- {
- if (isset($this->options['is_safe'])) {
- return $this->options['is_safe'];
- }
-
- if (isset($this->options['is_safe_callback'])) {
- return call_user_func($this->options['is_safe_callback'], $functionArgs);
- }
-
- return array();
- }
- }
|