Пример #1
0
 /**
  * Get CodeGenerator instance for specified class
  *
  * @param	string			$className
  * @param 	bool 			$alias
  *
  * @return	bool|Zend_CodeGenerator_Php_Class
  */
 public static function get($className, $alias = true)
 {
     if (!XDT_CLI_Helper::classExists($className, true, $alias)) {
         return false;
     }
     $classNameOriginal = $className;
     // Load class file
     if ($alias) {
         $className = XDT_CLI_Helper::loadClassAliased($className);
     }
     $class = Zend_CodeGenerator_Php_Class::fromReflection(new Zend_Reflection_Class($className));
     if (!$class) {
         return false;
     }
     // Set tab indentation
     $class->setIndentation('	');
     if ($alias) {
         $class->setName($classNameOriginal);
     }
     return $class;
 }
Пример #2
0
 /**
  * Check if given class exists and creates dummy XFCP class to prevent errors if necessary
  *
  * @param	string			$className
  * @param	bool			$createXfcp
  * @param 	bool 			$alias
  *
  * @return	bool
  */
 public static function classExists($className, $createXfcp = true, $alias = true)
 {
     if ($createXfcp) {
         $xfcpClass = 'XFCP_' . $className;
         if (!XDT_CLI_Helper::classExists($xfcpClass, false, false)) {
             eval("class {$xfcpClass} {}");
         }
     }
     if ($alias) {
         $className = XDT_CLI_Helper::loadClassAliased($className);
     }
     try {
         return class_exists($className);
     } catch (Exception $e) {
     }
     return false;
 }