Пример #1
0
function main(Base $b)
{
    $x = $b->foo();
    var_dump($x);
}
Пример #2
0
<?php

class Base
{
    public $aaa = 1;
    protected $bbb = 2;
    private $ccc = 3;
    function foo($obj)
    {
        var_dump(get_class($obj));
        var_dump(get_object_vars($obj));
    }
}
class Child extends Base
{
    public $ddd = 5;
    protected $eee = 6;
    private $fff = 4;
}
$base_obj = new Base();
$base_obj->foo($base_obj);
Пример #3
0
<?php

class Base
{
    public $aaa = 1;
    protected $bbb = 2;
    private $ccc = 3;
    function foo($obj)
    {
        var_dump(get_class($obj));
        var_dump(get_object_vars($obj));
    }
}
class Child extends Base
{
    public $ddd = 4;
    protected $eee = 5;
    private $fff = 6;
}
$base_obj = new Base();
$child_obj = new Child();
$base_obj->foo($child_obj);
Пример #4
0
function main(Base $b)
{
    $x = $b->foo();
    $x->say();
}
Пример #5
0
<?php

class Base
{
    public static function __callStatic($method, $args)
    {
        $klass = get_called_class();
        echo "class {$klass}\n";
    }
}
class Derived extends Base
{
}
Base::foo();
Derived::foo();