Skip to content
docsv0.24.0

PostconditionVerifier

Checks that the CONSEQUENCES a `make:entity` / `make:crud` / `make:resource` run promised actually exist on disk, so `ok:true` cannot mean "the class is shaped right" while a referenced enum, the repository registration, the controller or the declared routes dangle unwired. This is the strong-postcondition layer over the shape-only {@see \Milpa\DevTools\Verify\VerifyRunner}: that one reflects the produced class against its convention; this one asks the filesystem whether every OTHER artifact the run said it would leave behind is really there. Where the shape verifier needs the class autoloaded, this verifier reads files and source text only — a freshly scaffolded tree is checkable before anything is installed or autoloadable. A REQUIRED consequence that is missing is a dangling reference and makes the run `incomplete` (see {@see \Milpa\DevTools\Operations\MakeHandler}); the one ADVISORY consequence — activating the plugin in `config/plugins.php` — is reported but never fails the run, because booting a plugin is an authority decision `make` deliberately hands to a human (see the `make` effect profile in {@see \Milpa\DevTools\Operations\DevToolsOperations}). Only the RUNTIME {@see Flavor} carries the repository/route/enum wiring these checks describe; a LEGACY entity (a Doctrine class with no wiring plugin of its own) is checked for its file alone.

PostconditionVerifier::__construct()

public function __construct(Milpa\DevTools\Make\FieldParser $parser = new FieldParser(), Milpa\DevTools\Make\PluginSurgeon $surgeon = new PluginSurgeon()):

Parameters

Parameters of __construct()
NameTypeDescription
$parserMilpa\DevTools\Make\FieldParser
$surgeonMilpa\DevTools\Make\PluginSurgeon

PostconditionVerifier::verify()

public function verify(string $kind, Milpa\DevTools\Make\GenerationContext $context, Milpa\DevTools\Make\Flavor $flavor): Milpa\DevTools\Make\PostconditionReport

Builds the {@see PostconditionReport} for a completed `$kind` generation, checking each consequence that `$kind` promised against the tree under `$context->root`. Kinds other than `entity`/`crud`/`resource` have no filesystem consequences beyond the class the shape verifier already covers, so they get an empty (always-ok) report.

Parameters

Parameters of verify()
NameTypeDescription
$kindstring
$contextMilpa\DevTools\Make\GenerationContext
$flavorMilpa\DevTools\Make\Flavor