cacheable; } /** * Function body * @param mixed $params The supplied parameters. * @param Smarty\Template $template * @return mixed */ abstract public function handle($params, Template $template): ?string; /** * Return the support attributes for this function. * @return array */ public function getSupportedAttributes(): array { return [ 'required_attributes' => $this->required_attributes, 'optional_attributes' => $this->optional_attributes, 'shorttag_order' => $this->shorttag_order, 'option_flags' => $this->option_flags, ]; } }