: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
* This file is part of Twig.
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
namespace WPML\Core\Twig\Node;
use WPML\Core\Twig\Compiler;
use WPML\Core\Twig\Node\Expression\AbstractExpression;
* Checks if casting an expression to __toString() is allowed by the sandbox.
* For instance, when there is a simple Print statement, like {{ article }},
* and if the sandbox is enabled, we need to check that the __toString()
* method is allowed if 'article' is an object. The same goes for {{ article|upper }}
* or {{ random(article) }}
* @author Fabien Potencier <fabien@symfony.com>
class CheckToStringNode extends \WPML\Core\Twig\Node\Expression\AbstractExpression
public function __construct(\WPML\Core\Twig\Node\Expression\AbstractExpression $expr)
parent::__construct(['expr' => $expr], [], $expr->getTemplateLine(), $expr->getNodeTag());
public function compile(\WPML\Core\Twig\Compiler $compiler)
$compiler->raw('$this->sandbox->ensureToStringAllowed(')->subcompile($this->getNode('expr'))->raw(')');