Как использовать метод glob класса Filesystem с StorageFacade?

Это относится к Laravel 5.

В Illuminate\Filesystem\Filesystem я вижу метод под названием glob($pattern, $flags = 0)

К сожалению, этот метод не отражен в стандартном FilesystemAdapter, поставляемом с Laravel 5.

Это было бы здорово, потому что мне нужно было сделать что-то вроде Storage::disk('local')->glob([_]*[.blade.php]); (чтобы получить все сохраненные файлы клипов, начинающиеся с подчеркивания.

Каков самый чистый способ достичь этого?

Ответы

Ответ 1

Я думаю, вы не можете запустить glob здесь, но вы можете получить все файлы, а затем отфильтровать их, например:

$files = array_filter(Storage::disk('local')->files(), function ($file)
{
    return preg_match('/_(.*)\.blade\.php$/U', $file);
});

Конечно, вам нужно решить использовать files или allFiles (рекурсивно) в зависимости от ваших потребностей. Наверное, это не лучшее решение, если у вас тысячи файлов, но если этого не делать, этого должно быть достаточно