summaryrefslogtreecommitdiff
path: root/Zend/tests/indirect_method_call_002.phpt
blob: e8ea14b16572344791a9529a2c8917f4241c47ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
--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: Uncaught Error: Call to undefined method foo::www() in %s:%d
Stack trace:
#0 {main}
  thrown in %s on line %d