$file) { $out[basename($filename)] = $filename; } return $out; } public static function getClassNamesFromFilesList($file_list) { $out = array(); foreach($file_list as $file_name => $file_patch) { if(($name = self::getClassNameFromFileName($file_name)) !== false) { $out[] = $name; } } return $out; } public static function getClassNameFromFileName($file_name) { preg_match('@class\.(.*)\.php@', $file_name, $matches); if(isset($matches[1])) { return $matches[1]; } return false; } public static function listFoldersFromDirectory($directory) { if(!file_exists($directory)) return array(); $di = new \DirectoryIterator($directory); $out = array(); foreach (new \IteratorIterator($di) as $filename => $file) { if($file->isDir() && !$file->isDot()) $out[] = $file->getFilename(); } return $out; } }