diff --git a/src/Symfony/Component/Debug/DebugClassLoader.php b/src/Symfony/Component/Debug/DebugClassLoader.php index eb1be7a46dd8..4a02e616cce8 100644 --- a/src/Symfony/Component/Debug/DebugClassLoader.php +++ b/src/Symfony/Component/Debug/DebugClassLoader.php @@ -175,7 +175,7 @@ public function loadClass($class) $refl = new \ReflectionClass($class); $name = $refl->getName(); - if ($name !== $class) { + if ($name !== $class && 0 === strcasecmp($name, $class)) { throw new \RuntimeException(sprintf('Case mismatch between loaded and declared class names: %s vs %s', $class, $name)); } } diff --git a/src/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php b/src/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php index 12224e029f57..396cc98ee9b7 100644 --- a/src/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php +++ b/src/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php @@ -151,6 +151,11 @@ public function testNotPsr0Bis() { $this->assertTrue(class_exists(__NAMESPACE__.'\Fixtures\NotPSR0bis', true)); } + + public function testClassAlias() + { + $this->assertTrue(class_exists(__NAMESPACE__.'\Fixtures\ClassAlias', true)); + } } class ClassLoader diff --git a/src/Symfony/Component/Debug/Tests/Fixtures/ClassAlias.php b/src/Symfony/Component/Debug/Tests/Fixtures/ClassAlias.php new file mode 100644 index 000000000000..9d6dbaa7124f --- /dev/null +++ b/src/Symfony/Component/Debug/Tests/Fixtures/ClassAlias.php @@ -0,0 +1,3 @@ +