The ParamBag class provides a simple and consistent way to store, access, and manage static configuration parameters.
This class helps you:
<?php
use Krystal\ParamBag\ParamBag;
$params = new ParamBag([
'site_name' => 'My Website',
'debug' => true
]);
echo $params->get('site_name');
// Output: My Website
echo $params->get('non_existing', 'default_value');
// Output: default_value
if ($params->has('debug')) {
echo 'Debug mode is enabled.';
}
if ($params->hasMany(['site_name', 'items_per_page'])) {
echo 'All required parameters are present.';
}
$params->set('timezone', 'UTC');
$params->set('debug', false);
$params->setMany([
'api_key' => '12345',
'version' => '2.0.1'
]);
print_r($params->getAll());
This will output
[
'site_name' => 'My Website',
'debug' => false,
'timezone' => 'UTC',
'api_key' => '12345',
'version' => '2.0.1',
]