Allows a module to publish static, cross-cutting facts into the
laravel.ui5/infra/{key} manifest node.
Where {@see Ui5ShellFragmentInterface} contributes the global Shell
layer, this interface contributes platform facts that the client needs
regardless of which app it loaded: a logout-route handle, the slot
catalog, capability flags. The contribution is namespaced by the module's
own {@see getInfrastructureKey()} (e.g. core, auth) and is injected
identically into every module's manifest — so a platform fact is
declared once, by its owner, and read the same way from any app.
Checked by {@see \LaravelUi5\Core\Ui5\AbstractManifest} via instanceof,
exactly as the Shell fragment is. Implementing this interface is the gate
to contribute; the {@see \LaravelUi5\Core\Ui5\Contracts\Ui5Infrastructure}
marker (auto-registration) is not a precondition, though contributors are
infrastructure by nature. "Infrastructure" in the name denotes the target
node, not a required pedigree.
Contract — static, user-invariant facts only.
The infra node rides into a cacheable manifest that is shared across
users. Contributions therefore MUST be the same for every user and every
request:
| Methods | ||
|---|---|---|
public
|
getInfrastructureKey(): string
|
# |
public
|
contribute(Ui5RegistryInterface $registry): array<string, mixed>
|
# |