<?php
class A {
private $containigObject;
public function __construct($containigObject){
$this->containigObject = $containigObject;
}
public function functionThatAccessOutsideObject(){
//...
$this->containgObject->b = 2;
//...
}
}
class B {
public $b = 1;
public function someFunction(){
//...
$a = new A($this);
$a->functionThatAccessOutsideObject();
//...
}
}
$b = new B();
$b->someFunction();
?>
PD9waHAKICAgIGNsYXNzIEEgewoJCXByaXZhdGUgJGNvbnRhaW5pZ09iamVjdDsKCQlwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbnRhaW5pZ09iamVjdCl7CgkJJHRoaXMtPmNvbnRhaW5pZ09iamVjdCA9ICRjb250YWluaWdPYmplY3Q7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBmdW5jdGlvblRoYXRBY2Nlc3NPdXRzaWRlT2JqZWN0KCl7CgkJLy8uLi4KCQkkdGhpcy0+Y29udGFpbmdPYmplY3QtPmIgPSAyOwoJCS8vLi4uCgkJfQoJfQoKICAgIGNsYXNzIEIgewoJCXB1YmxpYyAkYiA9IDE7CgkJcHVibGljIGZ1bmN0aW9uIHNvbWVGdW5jdGlvbigpewoJCS8vLi4uCgkJJGEgPSBuZXcgQSgkdGhpcyk7CgkJJGEtPmZ1bmN0aW9uVGhhdEFjY2Vzc091dHNpZGVPYmplY3QoKTsKCQkvLy4uLgoJCX0KICAgIH0KCiAgICAkYiA9IG5ldyBCKCk7CiAgICAkYi0+c29tZUZ1bmN0aW9uKCk7Cj8+