РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
699 of 1361 menu

Метод in класса Finder

Метод in класса Finder добавляет директорию, в которой будет производиться поиск файлов и папок. Первым параметром передаётся путь к директории. Метод можно вызывать несколько раз, чтобы искать в нескольких директориях одновременно.

Синтаксис

$finder->in(string $dirs)

В качестве параметра $dirs можно передать как строку с путём, так и массив путей.

Пример

Давайте найдём все файлы в директории 'src':

<?php namespace AppService; use SymfonyComponentFinderFinder; class FileService { public function findFiles(): array { $finder = new Finder(); $finder->files()->in('src'); $res = []; foreach ($finder as $file) { $res[] = $file->getRelativePathname(); } return $res; } } ?>

Результат выполнения кода:

["Controller/ArticleController.php", "Service/FileService.php"]

Пример

Давайте найдём все директории в папке 'src':

<?php namespace AppService; use SymfonyComponentFinderFinder; class FileService { public function findDirectories(): array { $finder = new Finder(); $finder->directories()->in('src'); $res = []; foreach ($finder as $dir) { $res[] = $dir->getRelativePathname(); } return $res; } } ?>

Результат выполнения кода:

["Controller", "Service"]

Пример

Давайте найдём файлы в нескольких директориях одновременно:

<?php namespace AppService; use SymfonyComponentFinderFinder; class FileService { public function findInMultipleDirs(): array { $finder = new Finder(); $finder->files()->in(['src', 'templates']); $res = []; foreach ($finder as $file) { $res[] = $file->getRelativePathname(); } return $res; } } ?>

Результат выполнения кода:

["Controller/ArticleController.php", "Service/FileService.php", "article/index.html.twig"]

Пример

Давайте найдём все файлы с расширением '.php' в директории 'src':

<?php namespace AppService; use SymfonyComponentFinderFinder; class FileService { public function findPhpFiles(): array { $finder = new Finder(); $finder->files()->name('*.php')->in('src'); $res = []; foreach ($finder as $file) { $res[] = $file->getRelativePathname(); } return $res; } } ?>

Результат выполнения кода:

["Controller/ArticleController.php", "Service/FileService.php"]

Смотрите также

  • класс Finder,
    который предоставляет удобный поиск файлов и папок
  • метод files,
    который ограничивает поиск только файлами
  • метод directories,
    который ограничивает поиск только директориями
  • метод name,
    который фильтрует результаты по имени файла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить