FilePluginRegistry
JSON-file-backed registry: the config-driven activation source. A missing file is an empty registry; corrupt JSON is a loud error (never a silent empty). Every mutation persists immediately.
FilePluginRegistry::__construct()
public function __construct(string $filePath):Parameters
| Name | Type | Description |
|---|---|---|
| $filePath | string |
FilePluginRegistry::enabledNames()
public function enabledNames(): arrayNames of all enabled plugins; never throws — a broken store reads as [].
FilePluginRegistry::find()
public function find(string $name): ?Milpa\Plugin\Contracts\PluginRecordFind one plugin's record by name, or null when not registered.
Parameters
| Name | Type | Description |
|---|---|---|
| $name | string |
FilePluginRegistry::installed()
public function installed(): arrayAll installed plugins.
FilePluginRegistry::installedAndEnabled()
public function installedAndEnabled(): arrayAll plugins that are both installed and enabled.
FilePluginRegistry::register()
public function register(Milpa\Plugin\Contracts\PluginRecord $record): voidRegister a new plugin; throws if the name is already registered.
Parameters
| Name | Type | Description |
|---|---|---|
| $record | Milpa\Plugin\Contracts\PluginRecord |
FilePluginRegistry::save()
public function save(Milpa\Plugin\Contracts\PluginRecord $record): voidOverwrite an existing plugin's record; throws if the plugin is not registered.
Parameters
| Name | Type | Description |
|---|---|---|
| $record | Milpa\Plugin\Contracts\PluginRecord |
FilePluginRegistry::setEnabled()
public function setEnabled(string $name, bool $enabled): voidFlip a plugin's enabled flag; throws if the plugin is not registered.
Parameters
| Name | Type | Description |
|---|---|---|
| $name | string | |
| $enabled | bool |
FilePluginRegistry::unregister()
public function unregister(string $name): voidRemove a plugin from the registry; unknown name is a no-op.
Parameters
| Name | Type | Description |
|---|---|---|
| $name | string |
FilePluginRegistry::invalidateActivationCache()
public function invalidateActivationCache(): voidInvalidate materialized activation caches; the file IS the source of truth.