相关疑难解决方法(0)

如何在PHP> = 5.4中使特征内的类构造函数重载

在PHP 5中,我可以重载构造函数(以及任何其他方法).但是,如果我得到这样的代码:

class Base {

    public function __construct($a, $b) {
        echo $a+$b;
    }


    public function sayHello() {
        echo 'Hello ';
    }
}


trait SayWorld {

    public function __construct($a, $b, $c = 0) {
        echo (int)$c * ($a+$b);
    }

    public function sayHello($a = null) {
        parent::sayHello();
        echo 'World!'.$a;
    }
}

class MyHelloWorld extends Base {
    use SayWorld;
}

$o = new MyHelloWorld(2, 3);
$o->sayHello(1);
Run Code Online (Sandbox Code Playgroud)

我有一个错误:

致命错误:MyHelloWorld具有来自特征的碰撞构造函数定义

我该怎么解决它?你可以在这里测试我的代码.

php traits

58
推荐指数
3
解决办法
4万
查看次数

标签 统计

php ×1

traits ×1