public function Psr0FindFile::findFile in Plug 7
Finds a class.
Parameters
string $class The name of the class.:
Return value
string|null The name of the class or NULL if not found.
Overrides ClassFinderInterface::findFile
File
- lib/
doctrine/ common/ lib/ Doctrine/ Common/ Reflection/ Psr0FindFile.php, line 48
Class
- Psr0FindFile
- Finds a class in a PSR-0 structure.
Namespace
Doctrine\Common\ReflectionCode
public function findFile($class) {
$lastNsPos = strrpos($class, '\\');
if ('\\' == $class[0]) {
$class = substr($class, 1);
}
if (false !== $lastNsPos) {
// namespaced class name
$classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $lastNsPos)) . DIRECTORY_SEPARATOR;
$className = substr($class, $lastNsPos + 1);
}
else {
// PEAR-like class name
$classPath = null;
$className = $class;
}
$classPath .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
foreach ($this->prefixes as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
if (is_file($dir . DIRECTORY_SEPARATOR . $classPath)) {
return $dir . DIRECTORY_SEPARATOR . $classPath;
}
}
}
}
return null;
}