Beispiel #1
0
        $this->foo();
    }
}
class D2 extends C2
{
    protected function foo()
    {
        echo "D2::foo\n";
    }
}
class E2 extends D2
{
}
$obj = new E2();
// This should call C2::foo, not D2::foo
$obj->test();
class C3
{
    private function foo()
    {
        echo "C3::foo\n";
    }
    public function test()
    {
        $this->foo();
    }
}
class D3 extends C3
{
    public function foo()
    {
Beispiel #2
0
    {
        echo "D2::foo " . (isset($this) ? "true\n" : "false\n");
    }
    public function test()
    {
        F2::foo();
    }
}
class E2 extends D2
{
}
class F2 extends D2
{
}
$e2 = new E2();
$e2->test();
// Outputs 'D2::foo false' (Zend outputs 'D2::foo true')
class D3
{
    private function foo()
    {
        echo "D3::foo " . (isset($this) ? "true\n" : "false\n");
    }
    public function test()
    {
        F3::foo();
    }
}
class X3 extends D3
{
    private function foo()
Beispiel #3
0
function main2()
{
    $e2 = new E2();
    $e2->test();
    // Outputs 'D2::foo false' (Zend outputs 'D2::foo true')
}