|
15 | 15 | use Symfony\Bundle\DoctrineBundle\DependencyInjection\Compiler\RegisterEventListenersAndSubscribersPass;
|
16 | 16 | use Symfony\Component\DependencyInjection\ContainerBuilder;
|
17 | 17 | use Symfony\Component\HttpKernel\Bundle\Bundle;
|
| 18 | +use Doctrine\ORM\Version; |
| 19 | +use Doctrine\Common\Util\ClassUtils; |
18 | 20 |
|
19 | 21 | /**
|
20 | 22 | * Bundle.
|
@@ -49,11 +51,16 @@ class_exists('Doctrine\ORM\Mapping\Driver\AnnotationDriver');
|
49 | 51 | $this->autoloader = function($class) use ($namespace, $dir, &$container) {
|
50 | 52 | if (0 === strpos($class, $namespace)) {
|
51 | 53 | $className = substr($class, strlen($namespace) +1);
|
52 |
| - $file = $dir.DIRECTORY_SEPARATOR.$className.'.php'; |
| 54 | + $file = $dir.DIRECTORY_SEPARATOR.str_replace('\\', '', $className).'.php'; |
53 | 55 |
|
54 | 56 | if (!file_exists($file) && $container->getParameter('kernel.debug')) {
|
55 |
| - $originalClassName = substr($className, 0, -5); |
56 | 57 | $registry = $container->get('doctrine');
|
| 58 | + if (1 === Version::compare('2.2.0')) { |
| 59 | + $originalClassName = substr($className, 0, -5); |
| 60 | + } else { |
| 61 | + $originalClassName = ClassUtils::getRealClass($className); |
| 62 | + $originalClassName = str_replace('\\', '', $originalClassName); |
| 63 | + } |
57 | 64 |
|
58 | 65 | // Tries to auto-generate the proxy file
|
59 | 66 | foreach ($registry->getEntityManagers() as $em) {
|
|
0 commit comments