diff options
Diffstat (limited to 'Zend/tests/indirect_method_call_002.phpt')
-rw-r--r-- | Zend/tests/indirect_method_call_002.phpt | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Zend/tests/indirect_method_call_002.phpt b/Zend/tests/indirect_method_call_002.phpt new file mode 100644 index 0000000..1589533 --- /dev/null +++ b/Zend/tests/indirect_method_call_002.phpt @@ -0,0 +1,32 @@ +--TEST-- +Indirect method call with chaining +--FILE-- +<?php + +class foo { + public $x = 'testing'; + + public function bar() { + return "foo"; + } + public function baz() { + return new self; + } + static function xyz() { + } +} + +var_dump((new foo())->bar()); // string(3) "foo" +var_dump((new foo())->baz()->x); // string(7) "testing" +var_dump((new foo())->baz()->baz()->bar()); // string(3) "foo" +var_dump((new foo())->xyz()); // NULL +(new foo())->www(); + +?> +--EXPECTF-- +string(3) "foo" +string(7) "testing" +string(3) "foo" +NULL + +Fatal error: Call to undefined method foo::www() in %s on line %d |