Compare commits

...

3 Commits

Author SHA1 Message Date
Fabien Potencier 33066c11cc [ClassLoader] fixed CS 2011-08-13 10:30:20 +02:00
Baptiste Clavié 040abef35a got an if-condition out of unnecessary loops in Symfony\Component\ClassLoader\UniversalClassLoader 2011-08-11 16:23:36 +03:00
Jordi Boggiano c00f87add0 [ClassLoader] Improve exception messages of the debug class loader 2011-07-31 22:59:22 +02:00
2 changed files with 16 additions and 12 deletions
+1 -1
View File
@@ -55,7 +55,7 @@ class DebugUniversalClassLoader extends UniversalClassLoader
require $file;
if (!class_exists($class, false) && !interface_exists($class, false)) {
throw new \RuntimeException(sprintf('The autoloader expected class "%s" to be defined in file "%s". You probably have a typo in the namespace or the class name.', $class, $file));
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));
}
}
}
+15 -11
View File
@@ -220,13 +220,15 @@ class UniversalClassLoader
// namespaced class name
$namespace = substr($class, 0, $pos);
foreach ($this->namespaces as $ns => $dirs) {
if (0 !== strpos($namespace, $ns)) {
continue;
}
foreach ($dirs as $dir) {
if (0 === strpos($namespace, $ns)) {
$className = substr($class, $pos + 1);
$file = $dir.DIRECTORY_SEPARATOR.str_replace('\\', DIRECTORY_SEPARATOR, $namespace).DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $className).'.php';
if (file_exists($file)) {
return $file;
}
$className = substr($class, $pos + 1);
$file = $dir.DIRECTORY_SEPARATOR.str_replace('\\', DIRECTORY_SEPARATOR, $namespace).DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $className).'.php';
if (file_exists($file)) {
return $file;
}
}
}
@@ -240,12 +242,14 @@ class UniversalClassLoader
} else {
// PEAR-like class name
foreach ($this->prefixes as $prefix => $dirs) {
if (0 !== strpos($class, $prefix)) {
continue;
}
foreach ($dirs as $dir) {
if (0 === strpos($class, $prefix)) {
$file = $dir.DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $class).'.php';
if (file_exists($file)) {
return $file;
}
$file = $dir.DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $class).'.php';
if (file_exists($file)) {
return $file;
}
}
}