diff --git a/lib/Doctrine/ORM/Tools/EntityRepositoryGenerator.php b/lib/Doctrine/ORM/Tools/EntityRepositoryGenerator.php index e696abcdb..508730b9c 100644 --- a/lib/Doctrine/ORM/Tools/EntityRepositoryGenerator.php +++ b/lib/Doctrine/ORM/Tools/EntityRepositoryGenerator.php @@ -35,7 +35,7 @@ class EntityRepositoryGenerator protected static $_template = '; + use Doctrine\ORM\EntityRepository; @@ -52,16 +52,28 @@ class extends EntityRepository public function generateEntityRepositoryClass($fullClassName) { - $namespace = substr($fullClassName, 0, strrpos($fullClassName, '\\')); $className = substr($fullClassName, strrpos($fullClassName, '\\') + 1, strlen($fullClassName)); $variables = array( - '' => $namespace, + '' => $this->generateEntityRepositoryNamespace($fullClassName), '' => $className ); return str_replace(array_keys($variables), array_values($variables), self::$_template); } - + + /** + * Generate the namespace statement, if class do not have namespace, return empty string instead + * + * @param string $fullClassName The full repository class name + * @return string $namespace + */ + private function generateEntityRepositoryNamespace($fullClassName) + { + $namespace = substr($fullClassName, 0, strrpos($fullClassName, '\\')); + + return $namespace ? 'namespace ' . $namespace . ';' : ''; + } + public function writeEntityRepositoryClass($fullClassName, $outputDirectory) { $code = $this->generateEntityRepositoryClass($fullClassName);