Return to 030.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / Zend / tests |
1.1 ! misho 1: --TEST-- ! 2: Overriding $this in catch and checking the object properties later. ! 3: --FILE-- ! 4: <?php ! 5: ! 6: class foo { ! 7: public $test = 0; ! 8: private $test_2 = 1; ! 9: protected $test_3 = 2; ! 10: ! 11: public function bar() { ! 12: try { ! 13: throw new Exception('foo'); ! 14: } catch (Exception $this) { ! 15: var_dump($this); ! 16: } ! 17: ! 18: $this->baz(); ! 19: } ! 20: ! 21: public function baz() { ! 22: foreach ($this as $k => $v) { ! 23: printf("'%s' => '%s'\n", $k, $v); ! 24: } ! 25: print "ok\n"; ! 26: } ! 27: } ! 28: ! 29: $test = new foo; ! 30: $test->bar(); ! 31: ! 32: ?> ! 33: --EXPECTF-- ! 34: object(Exception)#%d (7) { ! 35: ["message":protected]=> ! 36: string(3) "foo" ! 37: ["string":"Exception":private]=> ! 38: string(0) "" ! 39: ["code":protected]=> ! 40: int(0) ! 41: ["file":protected]=> ! 42: string(%d) "%s030.php" ! 43: ["line":protected]=> ! 44: int(%d) ! 45: ["trace":"Exception":private]=> ! 46: array(1) { ! 47: [0]=> ! 48: array(6) { ! 49: ["file"]=> ! 50: string(%d) "%s030.php" ! 51: ["line"]=> ! 52: int(%d) ! 53: ["function"]=> ! 54: string(3) "bar" ! 55: ["class"]=> ! 56: string(3) "foo" ! 57: ["type"]=> ! 58: string(2) "->" ! 59: ["args"]=> ! 60: array(0) { ! 61: } ! 62: } ! 63: } ! 64: ["previous":"Exception":private]=> ! 65: NULL ! 66: } ! 67: 'test' => '0' ! 68: 'test_2' => '1' ! 69: 'test_3' => '2' ! 70: ok