From e5a23dbdaa0f33a282d425d706c8622f58776016 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Thu, 22 Sep 2011 09:31:50 +0200 Subject: [PATCH] [ClassLoader] added support for PHP 5.4 traits --- src/Symfony/Component/ClassLoader/ClassCollectionLoader.php | 2 +- src/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/ClassLoader/ClassCollectionLoader.php b/src/Symfony/Component/ClassLoader/ClassCollectionLoader.php index 4c9e2bd71af5..5bcd6d67ca11 100644 --- a/src/Symfony/Component/ClassLoader/ClassCollectionLoader.php +++ b/src/Symfony/Component/ClassLoader/ClassCollectionLoader.php @@ -84,7 +84,7 @@ static public function load($classes, $cacheDir, $name, $autoReload, $adaptive = $files = array(); $content = ''; foreach ($classes as $class) { - if (!class_exists($class) && !interface_exists($class)) { + if (!class_exists($class) && !interface_exists($class) && function_exists('trait_exists') && !trait_exists($class)) { throw new \InvalidArgumentException(sprintf('Unable to load class "%s"', $class)); } diff --git a/src/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php b/src/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php index d20834170f5d..7d0cb54069f1 100644 --- a/src/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php +++ b/src/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php @@ -54,7 +54,7 @@ public function loadClass($class) if ($file = $this->findFile($class)) { require $file; - if (!class_exists($class, false) && !interface_exists($class, false)) { + if (!class_exists($class, false) && !interface_exists($class, false) && function_exists('trait_exists') && !trait_exists($class)) { throw new \RuntimeException(sprintf('The autoloader expected class "%s" to be defined in file "%s". The file was found but the class was not in it, the class name or namespace probably has a typo.', $class, $file)); } }