/** * @param string $_path * @param string $_prefix * @return Ambigous <string, multitype:> */ private static function scan($_path, $_prefix = '') { $delimiter = '/'; $separator = '.'; $wildcard = '*'; $result = array(); $files = array(); foreach (scandir($_path) as $resource) { if ($resource == "." || $resource == ".." || $resource == ".svn" || $resource == ".htaccess" || $resource == ".htpasswd") { continue; } else { if (is_dir($_path . $delimiter . $resource)) { $result = array_merge($result, Application::scan($_path . $delimiter . $resource, $_prefix . $resource . $separator)); continue; } else { if (is_file($_path . $delimiter . $resource)) { $files[] = $_path . $delimiter . $resource; $result[$_prefix . substr($resource, 0, strpos($resource, '.'))] = $_path . $delimiter . $resource; continue; } } } } $result[$_prefix . $wildcard] = $files; return $result; }