3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { /** @var B $b */ private $b; public function __construct() { $this->b = new B($this); } public function getB() { return $this->b; } } class B { /** @var A $a */ private $a; /** @var A $a */ public function __construct(A $a) { $this->a = $a; } } $a = new A(); $b = new B($a); var_dump($a); var_dump($a->getB());

preferences:
31.57 ms | 404 KiB | 5 Q