3v4l.org

run code in 300+ PHP versions simultaneously
<?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);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
value value 127.0.0.1 127.0.0.1
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
213.42 ms | 407 KiB | 5 Q