/** * @param $classPath * @param integer $connectionNumber * * @return org_glizy_dataAccess_ActiveRecord * @throws org_glizy_compilers_CompilerException */ static function &createModel($classPath, $connectionNumber = null) { $classInfo = org_glizy_ObjectFactory::resolveClassNew($classPath); if (isset($classInfo['path'])) { $compiler = org_glizy_ObjectFactory::createObject('org.glizy.compilers.Model'); $compiledFileName = $compiler->verify($classInfo['path'], array('originalClassName' => $classInfo['originalClassName'])); require_once $compiledFileName; $className = glz_basename($compiledFileName); $newObj = $connectionNumber ? new $className($connectionNumber) : new $className(); $classMap =& org_glizy_ObjectValues::get('org.glizy.ObjectFactory', 'ClassMap', array()); $classMap[$classPath] = $className; } else { if (isset($classInfo['class'])) { $newObj = $connectionNumber ? new $classInfo['class']($connectionNumber) : new $classInfo['class'](); } else { throw org_glizy_compilers_CompilerException::fileNotFound($classPath); } } return $newObj; }