Example #1
0
 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;
 }