BASE_PATH, 'libraries' => BASE_PATH, 'classes' => BASE_PATH, 'vendor' => BASE_PATH, 'apps' => BASE_PATH, '*' => BASE_PATH, ); $class = ltrim($class, '\\'); if (false !== ($pos = strrpos($class, '\\')) ){ $namespace = substr($class, 0, $pos); $className = substr($class, $pos + 1); foreach ($prefixes as $prefix => $baseDir){ if ( '*'!==$prefix && 0!==strpos($namespace, $prefix) ) continue; //file path case-insensitive $fileDIR = $baseDir.str_replace('\\', '/', $namespace).'/'; if( !isset($fileList[$fileDIR]) ){ $fileList[$fileDIR] = array(); foreach(glob($fileDIR.'*.php') as $file){ $fileList[$fileDIR][] = $file; } } $fileBase = $baseDir.str_replace('\\', '/', $namespace).'/'.$className; foreach($fileList[$fileDIR] as $file){ if( false!==stripos($file, $fileBase) ){ require $file; return true; } } } } return false; });