get_called_class() ]; } final public static function render(array $data = []) : string{ if(is_null(static::$template) && method_exists(get_called_class(), 'setup')){ static::setup(); } $template = static::$template ?? static::name(); $data = array_merge(static::data(),$data); if(is_string($template)){ return Template::from($template, $data); }elseif(is_array($template)){ $template = new Template($template['name'], $template['fn']); } return $template->run($data); } } ?>