12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- --TEST--
- Overriding $this in catch and checking the object properties later.
- --FILE--
- <?php
- class foo {
- public $test = 0;
- private $test_2 = 1;
- protected $test_3 = 2;
-
- public function bar() {
- try {
- throw new Exception('foo');
- } catch (Exception $this) {
- var_dump($this);
- }
- $this->baz();
- }
-
- public function baz() {
- foreach ($this as $k => $v) {
- printf("'%s' => '%s'\n", $k, $v);
- }
- print "ok\n";
- }
- }
- $test = new foo;
- $test->bar();
- ?>
- --EXPECTF--
- object(Exception)#%d (7) {
- ["message":protected]=>
- string(3) "foo"
- ["string":"Exception":private]=>
- string(0) ""
- ["code":protected]=>
- int(0)
- ["file":protected]=>
- string(%d) "%s030.php"
- ["line":protected]=>
- int(%d)
- ["trace":"Exception":private]=>
- array(1) {
- [0]=>
- array(6) {
- ["file"]=>
- string(%d) "%s030.php"
- ["line"]=>
- int(%d)
- ["function"]=>
- string(3) "bar"
- ["class"]=>
- string(3) "foo"
- ["type"]=>
- string(2) "->"
- ["args"]=>
- array(0) {
- }
- }
- }
- ["previous":"Exception":private]=>
- NULL
- }
- 'test' => '0'
- 'test_2' => '1'
- 'test_3' => '2'
- ok
|