3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Channel { private $data; public function set($data) { $this->data = $data; } public function get() { return $this->data; } } class Foo { private $channel; public function __construct($channel) { $this->channel = $channel; } public function writeToChannel($text) { $this->channel->set($text); } } class Bar { private $channel; public function __construct($channel) { $this->channel = $channel; } public function readFromChannel() { return $this->channel->get(); } } $channel = new Channel; $aaa = new Foo($channel); $bbb = new Bar($channel); $aaa->writeToChannel('test'); var_dump($bbb->readFromChannel()); $aaa->writeToChannel('foobar'); var_dump($bbb->readFromChannel());

preferences:
25.85 ms | 404 KiB | 5 Q