/** * 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; }
/** * 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; }