public static function import($tpl_name) { $is_aliased = preg_match("~^\\@(.+)~", $tpl_name, $real_name); if ($is_aliased) { $tpl_name = $real_name[1]; } else { $tpl_name = fx::getComponentFullName($tpl_name); } if (isset(self::$imported_classes[$tpl_name])) { return self::$imported_classes[$tpl_name]; } $processor = new self(); $processor->setTemplateName($tpl_name); if ($is_aliased) { $processor->isAliased(true); } $classname = $processor->getCompiledClassName(); $processor->addDefaultSourceDirs(); try { $processor->process(); } catch (\Exception $e) { self::$imported_classes[$tpl_name] = false; return false; } self::$imported_classes[$tpl_name] = $classname; $classname::init(); return $classname; }