Пример #1
0
<?php

trait MyTrait
{
    public static function callNew()
    {
        new self("called via SELF");
        new parent("called via PARENT");
    }
}
class MyBaseClass
{
    public function __construct($arg)
    {
        echo __CLASS__ . ": " . $arg . "\n";
    }
}
class MyDerivedClass extends MyBaseClass
{
    use MyTrait;
    public function __construct($arg)
    {
        echo __CLASS__ . ": " . $arg . "\n";
    }
}
$o = MyDerivedClass::callNew();