コード例 #1
0
ファイル: ObjectFactory.php プロジェクト: GruppoMeta/Movio
 /**
  * @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;
 }