<?php
class ClA {
public $b;
public function __construct() {
$this->b = new ClB($this);
}
public function x() {
echo "testing";
}
}
class ClB {
private $a;
public function __construct($a) {
$this->a = $a;
}
public function c () {
$this->a->x();
}
}
$a = new ClA();
$a->b->c();
PD9waHAKCmNsYXNzIENsQSB7CgogICAgcHVibGljICRiOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKICAgICAgICAkdGhpcy0+YiA9IG5ldyBDbEIoJHRoaXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB4KCkgewogICAgICBlY2hvICJ0ZXN0aW5nIjsKICAgIH0KfSAgICAgICAgCgoKY2xhc3MgQ2xCIHsKCiAgICBwcml2YXRlICRhOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkYSkgewogICAgICAgICR0aGlzLT5hID0gJGE7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGMgKCkgewogICAgICAgJHRoaXMtPmEtPngoKTsKICAgIH0KfQoKJGEgPSBuZXcgQ2xBKCk7CgokYS0+Yi0+YygpOwo=