Метод count класса Finder
Метод count класса Finder
возвращает количество элементов, которые
попали в выборку после применения всех
фильтров. Метод не принимает параметров
и работает как обычная функция count
для массивов. Его удобно использовать,
когда нужно узнать, сколько файлов или
папок соответствует заданным условиям,
не перебирая результаты вручную.
Синтаксис
public function count(): int
Пример
Давайте посчитаем количество файлов
в директории 'src':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentFinderFinder;
use SymfonyComponentHttpFoundationResponse;
class ArticleController extends AbstractController
{
public function index(): Response
{
$finder = new Finder();
$finder->files()->in('src');
$res = $finder->count();
return new Response((string) $res);
}
}
?>
Результат выполнения кода:
15
Пример
Давайте посчитаем только файлы
с расширением '.php':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentFinderFinder;
use SymfonyComponentHttpFoundationResponse;
class ArticleController extends AbstractController
{
public function index(): Response
{
$finder = new Finder();
$finder->files()->name('*.php')->in('src');
$res = $finder->count();
return new Response((string) $res);
}
}
?>
Результат выполнения кода:
12
Пример
Давайте посчитаем количество директорий
внутри 'src':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentFinderFinder;
use SymfonyComponentHttpFoundationResponse;
class ArticleController extends AbstractController
{
public function index(): Response
{
$finder = new Finder();
$finder->directories()->in('src');
$res = $finder->count();
return new Response((string) $res);
}
}
?>
Результат выполнения кода:
5
Пример
Давайте посчитаем файлы, которые
содержат строку 'hello':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentFinderFinder;
use SymfonyComponentHttpFoundationResponse;
class ArticleController extends AbstractController
{
public function index(): Response
{
$finder = new Finder();
$finder->files()->contains('hello')->in('src');
$res = $finder->count();
return new Response((string) $res);
}
}
?>
Результат выполнения кода:
3
Смотрите также
-
класс
Finder,
который ищет файлы и директории -
метод
files,
который ограничивает выборку только файлами -
метод
directories,
который ограничивает выборку только директориями -
метод
hasResults,
который проверяет, есть ли результаты поиска