public static function loadClass($className, $packageName = '') { BizClassLoader::loadMetadataClass($className, $packageName); }
/** * Contructor of class * * @param array $xmlArr * @param string $childClassName * @param object $parentObj * @return void */ public function __construct(&$xmlArr, $childClassName, $parentObj = null) { //if (is_array($array)) $this->var = $array; $this->m_prtObj = $parentObj; if (!$xmlArr) { return; } if (isset($xmlArr["ATTRIBUTES"])) { $className = isset($xmlArr["ATTRIBUTES"]['CLASS']) ? $xmlArr["ATTRIBUTES"]['CLASS'] : $childClassName; if ((bool) strpos($className, ".")) { $a_package_name = explode(".", $className); $className = array_pop($a_package_name); //require_once(BizSystem::getLibFileWithPath($className, implode(".", $a_package_name))); $clsLoaded = BizClassLoader::loadMetadataClass($className, implode(".", $a_package_name)); } //if (!$clsLoaded) trigger_error("Cannot find the load class $className", E_USER_ERROR); $obj = new $className($xmlArr, $parentObj); $this->m_var[$obj->m_Name] = $obj; } else { foreach ($xmlArr as $child) { $className = isset($child["ATTRIBUTES"]['CLASS']) ? $child["ATTRIBUTES"]['CLASS'] : $childClassName; /** * If a '.' is found within className we need to require such class * and then get the className after the last dot * ex. shared.dataobjs.FieldName, in this case FieldName is the class, shared/dataobjs the path * * The best solution to this is enable object factory to specify its resulting object constructor parameters */ if ($className) { //bug fixed by jixian for resolve load an empty classname if ((bool) strpos($className, ".")) { $a_package_name = explode(".", $className); $className = array_pop($a_package_name); //require_once(BizSystem::getLibFileWithPath($className, implode(".", $a_package_name))); $clsLoaded = BizClassLoader::loadMetadataClass($className, implode(".", $a_package_name)); } elseif ($parentObj->m_Package) { /* if(is_file(BizSystem::getLibFileWithPath($className, $parentObj->m_Package))){ require_once(BizSystem::getLibFileWithPath($className, $parentObj->m_Package)); }; */ $clsLoaded = BizClassLoader::loadMetadataClass($className, $parentObj->m_Package); } //if (!$clsLoaded) trigger_error("Cannot find the load class $className", E_USER_ERROR); $obj = new $className($child, $parentObj); $this->m_var[$obj->m_Name] = $obj; } } } }