- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.31, 8.2.0 - 8.2.26, 8.3.0 - 8.3.14, 8.4.1 - 8.4.2
- value value 127.0.0.1 127.0.0.1
<?php
final class Config extends ArrayObject
{
}
final class MyClass
{
public function __construct(Config $config)
{
// Read settings
echo $config['key'] . "\n";
echo $config->offsetGet('key') . "\n";
// Reading a sub-key
echo $config['db']['hostname'] . "\n";
echo $config->offsetGet('db')['hostname'] . "\n";
}
}
// Within the DI container definition
// Load settings from settings.php
$settings = [
'key' => 'value',
'db' => [
'hostname' => '127.0.0.1',
]
];
$config = new Config($settings);
// Let the DI container inject this object via autowiring
new MyClass($config);