Exemple #1
0
    {
        echo __METHOD__ . "(begin)\n";
        parent::__construct();
        parent::test();
        $this->test();
        $this->member = 'derived::member';
        echo __METHOD__ . "(end)\n";
    }
    function test()
    {
        parent::test();
        echo __METHOD__ . "\n";
        print_r($this);
    }
}
$t = new derived();
$t->test();
unset($t);
echo "Done\n";
?>
--EXPECTF--
derived::__construct(begin)
base::__construct(begin)
base::test
derived Object
(
    [member] => derived::member (default)
    [member:base:private] => base::member
)
derived::test
derived Object
Exemple #2
0
[expect php]
[file]
<?php 
class base
{
    function base()
    {
        echo __CLASS__ . "::" . __FUNCTION__ . "\n";
    }
}
class derived extends base
{
    function base()
    {
        echo __CLASS__ . "::" . __FUNCTION__ . "\n";
    }
}
$obj = new derived();
$obj->base();
Exemple #3
0
<?php

abstract class base
{
    function show()
    {
        echo "base\n";
    }
}
class derived extends base
{
}
$t = new derived();
$t->show();
$t = new base();
$t->show();
echo "Done\n";
// shouldn't be displayed
    }
    static function inc()
    {
        base::$prop++;
        echo __METHOD__ . "()\n";
    }
}
class derived extends base
{
    public static $prop = 2;
    static function show()
    {
        echo __METHOD__ . '(' . self::$prop . ")\n";
    }
    static function inc()
    {
        derived::$prop++;
        echo __METHOD__ . "()\n";
    }
}
base::show();
derived::show();
base::inc();
base::show();
derived::show();
derived::inc();
base::show();
derived::show();
$r = new ReflectionClass('derived');
echo 'Number of properties: ' . count($r->getStaticProperties()) . "\n";
echo "Done\n";
Exemple #5
0
    function test()
    {
        $this->show();
    }
}
$t = new base();
$t->test();
class derived extends base
{
    function show()
    {
        echo "derived\n";
    }
    function test()
    {
        echo "test\n";
        $this->show();
        parent::test();
        parent::show();
    }
}
$t = new derived();
$t->test();
?>
--EXPECTF--
base
test
derived
base

Fatal error: Call to private method base::show() from context 'derived' in %s on line %d, position %d
Exemple #6
0
            echo "{$k}=>{$v}\n";
        }
    }
}
class derived extends base
{
}
$o = new base();
$o->d = 4;
echo "===base::function===\n";
$o->f();
echo "===base,foreach===\n";
foreach ($o as $k => $v) {
    echo "{$k}=>{$v}\n";
}
$o = new derived();
$o->d = 4;
echo "===derived::function===\n";
$o->f();
echo "===derived,foreach===\n";
foreach ($o as $k => $v) {
    echo "{$k}=>{$v}\n";
}
?>
--EXPECT--
===base::function===
a=>1
b=>2
c=>3
d=>4
===base,foreach===