CooperConfig
Table of Contents
Namespaces
- Casc
- Command
Classes
- Cli
- `vendor/bin/cooper-config`: the `cooper:*` commands (see
`JOetjen\CooperConfig\Command`) as a standalone Symfony Console
application, for a project with no `bin/console` or artisan to
register them with.
- CompiledCache
- The compiled cache: a loaded, converted configuration written as a PHP
file, so the next request includes it instead of parsing the document.
- Config
- The application's configuration: a CASC document loaded with Cooper,
once, at startup, and read through this class afterwards -- the PHP
counterpart of the Elixir `cooper_config` and the Praxis `cooper_prx`.
- ConfigError
- The configuration could not be loaded: an explicitly given file is
missing, Cooper refused the document, or what it loaded could not be
converted (a duration that is not whole milliseconds, a refused
`cooper-secrets` policy).
- ConversionError
- Cooper loaded the document, but it cannot become application
configuration: a duration that is not a whole number of milliseconds,
or a `cooper-secrets` policy that is misplaced, unknown, or names a
class that cannot wrap a secret. `Config::load()` reports it as a
`ConfigError`; `Convert::toAppConfig()` throws it directly.
- Convert
- Turns what `Cooper` loaded into application configuration -- the
counterpart of the Elixir `CooperConfig.Convert` and the Praxis
`cooper.config/as-app-config`.
- LoadReport
- What the last `Config::load()` did: which document, whether it was
there, and whether the compiled cache served or stored it. For
diagnostics (`cooper-config check`), never needed to read the
configuration itself.
- MissingKeyError
- `Config::require()` found nothing at the path it was given.
- NotLoadedError
- The configuration was read before it was loaded.
- ProjectRoot
- Where the application lives: the directory `config/config.casc` and
`var/cache/cooper-config/` are found under by default.