/** * Compile * * @param Apishka_Templater_Compiler $compiler */ public function compile(Apishka_Templater_Compiler $compiler) { $left = $compiler->getVarName(); $right = $compiler->getVarName(); $compiler->raw(sprintf('(is_string($%s = ', $left))->subcompile($this->getNode('left'))->raw(sprintf(') && is_string($%s = ', $right))->subcompile($this->getNode('right'))->raw(sprintf(') && (\'\' === $%2$s || $%2$s === substr($%1$s, -strlen($%2$s))))', $left, $right)); }