Mutability

Thanks to lazy processing, you can define schemas and set user-provided values at any time and in any order. This can be very convenient in many cases, but you might have times where you’d like to provide a read-only version of the Configuration to ensure nobody else can modify it.

Read-Only Reader

To do this, simply call $config->reader(). This will return an object that only has the get() and exists() methods, preventing others from further modifying the configuration:

use League\Config\Configuration;

$config = new Configuration([/* ... */]);

$someOtherObject->setConfig($config->reader());

Because both the reader and the main Configuration implement ConfigurationInterface, you can type-hint against that anywhere you need to retrieve values but not necessarily modify things.


Edit this page