Метод notPath класса Finder
Метод notPath класса Finder исключает из результатов поиска файлы и директории, путь которых соответствует заданному шаблону. Первым параметром передаётся строка с шаблоном пути. Поддерживаются символы подстановки * и ?. Метод возвращает объект Finder, что позволяет выстраивать цепочку вызовов.
Синтаксис
$finder->notPath(string $pattern)
Пример
Давайте найдём все файлы в директории src, кроме тех, что лежат в папке Controller:
<?php
namespace AppService;
use SymfonyComponentFinderFinder;
class FileService
{
public function findFiles(): array
{
$finder = new Finder();
$finder->files()->in('src')->notPath('Controller');
$res = [];
foreach ($finder as $file) {
$res[] = $file->getRelativePathname();
}
return $res;
}
}
?>
Результат выполнения кода:
["Service/FileService.php", "Entity/Article.php"]
Пример
Давайте исключим все файлы с расширением .txt, используя символ подстановки:
<?php
namespace AppService;
use SymfonyComponentFinderFinder;
class FileService
{
public function findFiles(): array
{
$finder = new Finder();
$finder->files()->in('src')->notPath('*.txt');
$res = [];
foreach ($finder as $file) {
$res[] = $file->getFilename();
}
return $res;
}
}
?>
Результат выполнения кода:
["FileService.php", "Article.php"]