VerifyRunner
Runs the paired {@see VerifierInterface} on a generated class FQCN, closing the generate → verify loop so a produced file that does not satisfy the framework's runtime conventions fails the `coa:make` run. Before the topology fix (OLA 3 / E4) this shelled out to `php scripts/verify-<kind>.php` — a subprocess per verify, and one that only worked because the script happened to sit at a fixed path relative to the monorepo root. Verifiers now run IN-PROCESS (same PHP request that just wrote the file), so a freshly generated class is checked via the very autoloader that will load it in production — no subprocess, no path assumption. `$root` is kept in the signature for call-site/API stability; the in-process verifiers reflect the already-autoloaded class and do not need it.
VerifyRunner::__construct()
public function __construct(?array $verifiers = null):Parameters
| Name | Type | Description |
|---|---|---|
| $verifiers | (array<string, VerifierInterface> | null) | override for testing; defaults to the built-in controller/entity verifiers |
VerifyRunner::run()
public function run(string $kind, string $fqcn, string $root): arrayRuns the `$kind` verifier ('controller'|'entity') against `$fqcn` and returns its outcome.
Parameters
| Name | Type | Description |
|---|---|---|
| $kind | string | |
| $fqcn | string | |
| $root | string |