Метод directories
Метод directories класса Finder возвращает объект Finder, который при итерации выдаёт только директории. Файлы при этом игнорируются. Метод не принимает обязательных параметров и может вызываться в цепочке с другими фильтрами, такими как in, name или depth.
Синтаксис
$finder->directories()
Пример
Давайте найдём все директории в папке src:
<?php
namespace AppService;
use SymfonyComponentFinderFinder;
class FinderService
{
public function findDirectories(): array
{
$finder = new Finder();
$finder->directories()->in('src');
$res = [];
foreach ($finder as $dir) {
$res[] = $dir->getRelativePathname();
}
return $res;
}
}
?>
Результат выполнения кода:
["Controller", "Entity", "Repository", "Service"]
Пример
Давайте найдём директории только на определённой глубине вложенности:
<?php
namespace AppService;
use SymfonyComponentFinderFinder;
class FinderService
{
public function findDeepDirectories(): array
{
$finder = new Finder();
$finder->directories()->in('src')->depth('>= 2');
$res = [];
foreach ($finder as $dir) {
$res[] = $dir->getRelativePathname();
}
return $res;
}
}
?>
Результат выполнения кода:
["Controller/Admin", "Entity/Traits", "Repository/Abstract"]