3v4l.org

run code in 300+ PHP versions simultaneously
<?php $myapp = new MyApp(new SettingsBag([ 'works' => false, 'random' => rand(), ])); var_dump($myapp->settings()->get('random')); var_dump($myapp->settings()->get('works')); $myapp->settings()->set('works', true); var_dump($myapp->settings()->get('works')); class MyApp { private $settings_bag = null; function __construct(SettingsBag $settings_bag) { $this->settings_bag = $settings_bag; } public function settings() { return $this->settings_bag; } } class SettingsBag { private $settings = null; function __construct(array $settings = []) { $this->settings = $settings; } public function set(string $key, $value) { return $this->settings[$key] = $value; } public function get(string $key) { return $this->settings[$key]; } }

preferences:
39.19 ms | 405 KiB | 5 Q