Habari\Autoload::queue_dirs PHP Метод

queue_dirs() публичный статический Метод

Queue directories for class autoloading
public static queue_dirs ( Array | string $dirs ) : array
$dirs Array | string An array of directories or a single directory to autoload classes from
Результат array The full list of files that could be used for autoloading
    public static function queue_dirs($dirs)
    {
        static $loaded_dirs = array();
        $files = array();
        if (!is_array($dirs) && !$dirs instanceof \Traversable) {
            $dirs = array($dirs);
        }
        $lower_basename = function ($string) {
            return strtolower(basename($string));
        };
        // For each directory, save the available files in the $files array.
        foreach ($dirs as $dir) {
            if (!in_array($dir, $loaded_dirs)) {
                $glob = glob($dir . '/*.php');
                if ($glob === false || empty($glob)) {
                    continue;
                }
                $fnames = array_map($lower_basename, $glob);
                $files = array_merge($files, array_combine($fnames, $glob));
                $loaded_dirs[] = $dir;
            }
        }
        if (is_array(self::$files)) {
            self::$files = array_merge(self::$files, $files);
        } else {
            self::$files = $files;
        }
        return self::$files;
    }