SETTINGS
SETTINGS = 'strata.settings'
The configuration object every settings form edits.
Shared behaviour for the settings forms.
Every settings form edits one part of a single configuration object, so they all read and write the
same name and all have to leave the parts they do not own alone. ConfigFormBase::submitForm()
saves whatever it is handed, so a form that set a whole mapping would silently blank the keys it
did not render - which is how a capture form ends up resetting the retention ladder.
So each form declares the keys it owns and nothing else is touched.
The engine is reset after every save. It caches the provider, the cipher, the codec registry and the object store on first use, so a request that saved a new bucket and then flushed would flush to the old one.
$engine : ?\Drupal\strata\Engine
The engine, reset after a save.
create(\Symfony\Component\DependencyInjection\ContainerInterface $container) : static
{@inheritdoc}
The engine is asked for, never required. composer.json PSR-4 maps Drupal\strata\ onto
src/, so every class here loads off composer's autoloader whether or not the module is in
core.extension, while strata.services.yml reaches the container only when it is. A router
table still holding this route after the module left - a failed install, a composer remove
with no uninstall - therefore resolves the class, calls this, and answered 500 with
ServiceNotFoundException until 1.0.3. The property is nullable and every use of it is
null-safe, so asking is the whole fix.
| \Symfony\Component\DependencyInjection\ContainerInterface | $container |
coerce(mixed $value, string $type) : mixed
Coerces a submitted value to the type the config schema declares.
A form always submits strings, and configuration is schema-validated on save, so an integer
setting handed the string "15" fails validation on a site running strictConfigSchema.
| mixed | $value | The submitted value. |
| string | $type | One of "string", "int", "float" or "bool". |
The coerced value.