Skip to content
docsv0.9.1

PluginBootResult

What a {@see PluginBootStrategyInterface} reports back to the kernel: the instantiated plugins (vetoed ones included), the names that actually booted, and the routes/commands the phase collected. Routes feed the kernel's {@see \Milpa\Http\Routing\Router}; both lists default to empty because host strategies may assemble routes outside the kernel (attribute scanning is a host concern, never a kernel one).

PluginBootResult::__construct()

public function __construct(array $plugins, array $bootedPluginNames, array $routes = [], array $commands = [], bool $emittedKernelBooted = false):

Parameters

Parameters of __construct()
NameTypeDescription
$pluginslist<object>
$bootedPluginNameslist<string>
$routeslist<\Milpa\Http\Routing\Route>
$commandslist<\Milpa\Command\Operation>
$emittedKernelBootedboolSet by the STRATEGY (never the kernel itself) to `true` when the delegated boot cycle it just ran already dispatched `kernel.booted` on `BootContext::$dispatcher` — e.g. {@see PluginsManagerBootStrategy}, whose underlying `PluginsManager::loadPlugins()` emits it itself. `Kernel::boot()` reads this flag to skip its own final dispatch, so listeners always see `kernel.booted` exactly ONCE per boot, never twice. Defaults to `false` (BC): every strategy that does not set it — {@see InlinePluginBootStrategy} included — keeps the kernel's own emission, byte-identical to the pre-flag behavior.