|
@@ -53,8 +53,8 @@ class ClassLoader
|
|
|
|
|
|
private $useIncludePath = false;
|
|
|
private $classMap = array();
|
|
|
-
|
|
|
private $classMapAuthoritative = false;
|
|
|
+ private $missingClasses = array();
|
|
|
|
|
|
public function getPrefixes()
|
|
|
{
|
|
@@ -322,20 +322,20 @@ class ClassLoader
|
|
|
if (isset($this->classMap[$class])) {
|
|
|
return $this->classMap[$class];
|
|
|
}
|
|
|
- if ($this->classMapAuthoritative) {
|
|
|
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$file = $this->findFileWithExtension($class, '.php');
|
|
|
|
|
|
// Search for Hack files if we are running on HHVM
|
|
|
- if ($file === null && defined('HHVM_VERSION')) {
|
|
|
+ if (false === $file && defined('HHVM_VERSION')) {
|
|
|
$file = $this->findFileWithExtension($class, '.hh');
|
|
|
}
|
|
|
|
|
|
- if ($file === null) {
|
|
|
+ if (false === $file) {
|
|
|
// Remember that this class does not exist.
|
|
|
- return $this->classMap[$class] = false;
|
|
|
+ $this->missingClasses[$class] = true;
|
|
|
}
|
|
|
|
|
|
return $file;
|
|
@@ -399,6 +399,8 @@ class ClassLoader
|
|
|
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
|
|
return $file;
|
|
|
}
|
|
|
+
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|
|
|
|