public function getModelClassName() { $nameSpaces = $this->_database->getModelNameSpaces(); if (empty($nameSpaces)) { return null; } foreach ($nameSpaces as $nameSpace) { $className = rtrim($nameSpace, '\\') . '\\' . StringUtil::camelize(StringUtil::singularize($this->getName())); if (!class_exists($className)) { continue; } if (!is_subclass_of($className, 'Tale\\Data\\Row')) { throw new \Exception("Failed to use {$className} as a model class: " . "The class needs to extend Tale\\Data\\Row"); } return $className; } return null; }