/** * Load a file that defines model class and return that instance * * @param string $className The name of the model class to get instance * @param string $subdir * @return Model * @throws ClassUndefinedException */ public static function getModelInstance($className, $subdir = '') { $instance = false; $res = self::loadModel($className, $subdir); if ($res == false) { if (Model::isAllowVirtual()) { $tableName = NameManager::toTable($className); $instance = new Model($tableName); } } else { if (!self::classExists($className)) { self::load('ClassUndefinedException', 'exception'); throw new ClassUndefinedException($className); } $instance = new $className(); } return $instance; }