fork download
  1. <?php
  2.  
  3. class Foo {
  4. protected $array = [];
  5.  
  6. public function addGlobal($key, $value) {
  7. $this->array[$key] = $value;
  8. return $this;
  9. }
  10.  
  11. public function getGlobal($key) {
  12. return $this->array[$key] ?? null;
  13. }
  14. }
  15.  
  16. class Bar {
  17. protected $value;
  18.  
  19. public function setValue($value) {
  20. $this->value = $value;
  21. return $this;
  22. }
  23.  
  24. public function getValue() {
  25. return $this->value;
  26. }
  27. }
  28.  
  29. $foo = new Foo();
  30. $bar = new Bar();
  31.  
  32. $bar->setValue('foobar');
  33. $array = [ 'bar' => 'foobar', ];
  34.  
  35. $foo->addGlobal('array', $array);
  36. $foo->addGlobal('object', $bar);
  37.  
  38. $array['bar'] = 'bar';
  39. $bar->setValue('bar');
  40.  
  41. var_dump($foo->getGlobal('object')->getValue());
  42. var_dump($foo->getGlobal('array')['bar']);
Success #stdin #stdout 0.01s 82560KB
stdin
Standard input is empty
stdout
string(3) "bar"
string(6) "foobar"