示例#1
0
function main()
{
    $c = new C();
    $d = new D();
    $c->foo();
    $d->foo();
    echo "**************\n";
    $c->bar();
    $d->bar();
    echo "**************\n";
    C::foo();
    D::bar();
    echo "**************\n";
    $d->yar();
    D::yar();
}
示例#2
0
文件: cuf.php 项目: n3b/hiphop-php
 public function doBar()
 {
     $this->bar();
     // G G
     B::bar();
     // B B
     C::bar();
     // C C
     D::bar();
     // D D
     F::bar();
     // F F
     G::bar();
     // G G
     H::bar();
     // H H
     parent::bar();
     // F G
     self::bar();
     // G G
     static::bar();
     // G G
     echo "****************\n";
 }
示例#3
0
    }
}
class D extends C
{
    static $cls = 'D';
    public function __construct()
    {
        var_dump(isset($this));
        var_dump(static::$cls);
    }
    public function yar()
    {
        var_dump(isset($this));
        var_dump(static::$cls);
        C::yar();
    }
}
$c = new C();
$d = new D();
echo "**************\n";
$c->foo();
$d->foo();
echo "**************\n";
$c->bar();
$d->bar();
echo "**************\n";
C::foo();
D::bar();
echo "**************\n";
$d->yar();
D::yar();
<?php

// Call a protected static member from a parent class
class C
{
    protected static function foo()
    {
        echo "C::foo()\n";
    }
}
class D extends C
{
    function bar()
    {
        C::foo();
    }
}
D::bar();