|
Server : LiteSpeed System : Linux server900.shared.spaceship.host 4.18.0-553.89.1.lve.el8.x86_64 #1 SMP Wed Dec 10 13:58:50 UTC 2025 x86_64 User : kvzyqrttyz ( 5084) PHP Version : 8.1.34 Disable Function : NONE Directory : /proc/self/root/proc/thread-self/root/opt/cpanel/ea-wappspector/src/ | |
|
Path: //proc/self/root/proc/thread-self/root/opt/cpanel/ea-wappspector/src/Wappspector.php
Size: 1.01 KB
Permissions: 0644
<?php
namespace Plesk\Wappspector;
use Plesk\Wappspector\Matchers\MatcherInterface;
use Plesk\Wappspector\MatchResult\EmptyMatchResult;
use Plesk\Wappspector\MatchResult\MatchResultInterface;
use Throwable;
final class Wappspector
{
/**
* @param callable $fsFactory
*/
public function __construct(private $fsFactory, private array $matchers)
{
}
/**
* @return MatchResultInterface[]
* @throws Throwable
*/
public function run(string $path, string $basePath = '/', int $matchersLimit = 0): iterable
{
$fs = ($this->fsFactory)($basePath);
$result = [];
/** @var MatcherInterface $matcher */
foreach ($this->matchers as $matcher) {
if (($match = $matcher->match($fs, $path)) instanceof EmptyMatchResult) {
continue;
}
$result[] = $match;
if ($matchersLimit > 0 && count($result) >= $matchersLimit) {
break;
}
}
return $result;
}
}