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

Метод files

Метод files класса Finder фильтрует результаты поиска, оставляя только файлы. Директории при этом исключаются из выборки. Метод не принимает параметров и возвращает объект Finder, что позволяет использовать его в цепочке вызовов.

Синтаксис

public function files(): Finder

Пример

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

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentFinderFinder; class ArticleController extends AbstractController { public function index(): Response { $finder = new Finder(); $finder->files()->in('src'); $res = []; foreach ($finder as $file) { $res[] = $file->getFilename(); } return new Response(implode(', ', $res)); } } ?>

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

ArticleController.php

Пример

Давайте сравним вывод с методом files и без него:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentFinderFinder; class ArticleController extends AbstractController { public function index(): Response { $finderAll = new Finder(); $finderAll->in('src'); $all = []; foreach ($finderAll as $item) { $all[] = $item->getFilename(); } $finderFiles = new Finder(); $finderFiles->files()->in('src'); $files = []; foreach ($finderFiles as $file) { $files[] = $file->getFilename(); } return new Response( 'All: ' . implode(', ', $all) . ' | ' . 'Files: ' . implode(', ', $files) ); } } ?>

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

All: Controller, ArticleController.php | Files: ArticleController.php

Пример

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

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentFinderFinder; class ArticleController extends AbstractController { public function index(): Response { $finder = new Finder(); $finder->files()->name('*.php')->in('src'); $res = []; foreach ($finder as $file) { $res[] = $file->getFilename(); } return new Response(implode(', ', $res)); } } ?>

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

ArticleController.php

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

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