public function satisfies($target, string $rule, array $parameters = [], array $executionContext = []): bool
    {
        $targetCompiler = $this->findTargetCompiler($target, CompilationTarget::MODE_SATISFIES);
        $compilationContext = $targetCompiler->createCompilationContext($target);
        $executor = $this->compiler->compile($rule, $targetCompiler, $compilationContext);

        return $executor->satisfies($target, $parameters, $targetCompiler->getOperators()->getOperators(), new ExecutionContext($executionContext));
    }
public function satisfies($target, string $rule, array $parameters = [], array $executionContext = []): bool
    {
        $targetCompiler = $this->findTargetCompiler($target, CompilationTarget::MODE_SATISFIES);
        $compilationContext = $targetCompiler->createCompilationContext($target);
        $executor = $this->compiler->compile($rule, $targetCompiler, $compilationContext);

        return $executor->satisfies($target, $parameters, $targetCompiler->getOperators()->getOperators(), new ExecutionContext($executionContext));
    }
public function satisfies ( $ target , string $ rule , array $ parameters = [ ] , array $ executionContext = [ ] ) : bool { $ targetCompiler = $ this -> findTargetCompiler ( $ target , CompilationTarget :: MODE_SATISFIES ) ; $ compilationContext = $ targetCompiler -> createCompilationContext ( $ target ) ; $ executor = $ this -> compiler -> compile ( $ rule , $ targetCompiler , $ compilationContext ) ; return $ executor -> satisfies ( $ target , $ parameters , $ targetCompiler -> getOperators ( ) -> getOperators ( ) , new ExecutionContext ( $ executionContext ) ) ; }
Tells if a target satisfies the given rule and parameters.
The target compiler to use is determined at runtime using the registered ones.

@param mixed  $target           The target.
@param string $rule             The rule to test.
@param array  $parameters       The parameters used in the rule.
@param array  $executionContext The execution context.

@throws TargetUnsupportedException
Tells if a target satisfies the given rule and parameters . The target compiler to use is determined at runtime using the registered ones .