Commit bac5c0e7 by Suralc

Check if trait was loaded

parent a51019bb
...@@ -332,6 +332,11 @@ class YiiBase ...@@ -332,6 +332,11 @@ class YiiBase
*/ */
public static function autoload($className) public static function autoload($className)
{ {
static $hasTraitFunctionality;
if($hasTraitFunctionality === null) {
$hasTraitFunctionality = function_exists('trait_exists');
}
$className = ltrim($className, '\\'); $className = ltrim($className, '\\');
if (isset(self::$classMap[$className])) { if (isset(self::$classMap[$className])) {
...@@ -370,7 +375,8 @@ class YiiBase ...@@ -370,7 +375,8 @@ class YiiBase
include($classFile); include($classFile);
if (class_exists($className, false) || interface_exists($className, false)) { if (class_exists($className, false) || interface_exists($className, false) ||
($hasTraitFunctionality === true && trait_exists($className, false))) {
return true; return true;
} else { } else {
throw new UnknownClassException("Unable to find '$className' in file: $classFile"); throw new UnknownClassException("Unable to find '$className' in file: $classFile");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment