Ejemplo n.º 1
0
<?php

trait Foo
{
    public static function f()
    {
        echo __METHOD__ . "\n";
        echo __TRAIT__ . "\n";
        $a = new class
        {
            public static function f()
            {
                echo __METHOD__ . "\n";
                echo __TRAIT__ . "\n";
            }
        };
        $a::f();
        echo __METHOD__ . "\n";
        echo __TRAIT__ . "\n";
    }
}
Foo::f();
Ejemplo n.º 2
0
<?php

class Foo
{
    public static $x;
    function f()
    {
        $x = array();
        Foo::$x =& $x;
        Foo::$x[0] = 12;
        echo $x[0] . "\n";
    }
}
$y = new Foo();
$y->f();
echo "done\n";
Ejemplo n.º 3
0
function call_static($n)
{
    for ($i = 0; $i < $n; ++$i) {
        Foo::f();
    }
}
Ejemplo n.º 4
0
            var_dump(self::ZERO);
        }
        if (defined('parent::ZERO')) {
            var_dump(parent::ZERO);
        }
        $a = 'parent::ZERO';
        if (defined($a)) {
            var_dump(parent::ZERO);
        }
    }
}
class Goo
{
    const ZERO = Bar::ZERO;
}
$a = 'Foo::ZERO';
if (defined($a)) {
    var_dump(Foo::ZERO);
}
$a = 'Bar::ZERO';
if (defined($a)) {
    var_dump(Bar::ZERO);
}
$a = 'Goo::ZERO';
if (defined($a)) {
    var_dump(Goo::ZERO);
}
$obj = new Foo();
$obj->f();
$obj = new Bar();
$obj->f();