Heim >Backend-Entwicklung >PHP-Tutorial >Mehrere Methoden der Mehrfachvererbung in PHP

Mehrere Methoden der Mehrfachvererbung in PHP

不言
不言Original
2018-05-03 11:38:583108Durchsuche

Dieser Artikel stellt hauptsächlich mehrere Methoden zur PHP-Mehrfachvererbung vor, die einen gewissen Referenzwert haben. Jetzt kann ich ihn mit allen teilen, die ihn brauchen.

class Parent1 {
    function method1() {}
    function method2() {}
}
class Parent2 {
    function method3() {}
    function method4() {}
}
class Child {
    protected $_parents = array();
    public function Child(array $parents=array()) {
        $this->_parents = $parents;
    }
     
    public function __call($method, $args) {
        // 从“父类"中查找方法
        foreach ($this->_parents as $p) {
            if (is_callable(array($p, $method))) {
                return call_user_func_array(array($p, $method), $args);
            }
        }
        // 恢复默认的行为,会引发一个方法不存在的致命错误
        return call_user_func_array(array($this, $method), $args);
    }
}
$obj = new Child(array(new Parent1(), new Parent2()));
print_r( array($obj) );die;
$obj->method1();
$obj->method3();
rrree

Verwandte Empfehlungen:

PHP-Mehrfachvererbungsverständnis


Das obige ist der detaillierte Inhalt vonMehrere Methoden der Mehrfachvererbung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn