5 public function __construct() {
6 echo "logger2 constructing\n";
9 public function __set($name, $value) {
10 echo "set was called, throwing an exception\n";
11 throw new Exception('nope');
16 public function __construct() {
17 echo "logger constructing\n";
20 public function __set($name, $value) {
21 echo "set was called\n";
24 public function __get($name) {
25 echo "get was called\n";
31 public function __construct() {
32 echo "c constructing\n";
35 public function __get($name) {
36 echo "returning new logger\n";
42 public function __construct() {
43 echo "d constructing\n";
46 public function __get($name) {
47 echo "returning new logger2\n";
54 echo "creating new c\n";
56 echo "calling c.__get() and logger.__set()\n";
57 $o->prop
->blah
= 'something';
60 echo "calling c.__get() and logger.__get()\n";
62 echo "got value " . $x . "\n";
64 echo "creating new d\n";
66 echo "calling d.__get() and logger2.__set()\n";
67 $b->fake
->anotherfake
= 'ello';
72 echo "calling main\n";
74 } catch (Exception
$e) {
75 echo "Caught exception\n";