1
class Foo {
    public function sampleA(){
        echo "something ...";
    }
}

class Bar {
    public function sampleB(){
        echo "something ...";
    }
}

$objectA = new Foo();

$objectA->somevariable->sampleB(); ではなく、$objectA->sampleB() を直接呼び出したい。これを行う方法?

4

3 に答える 3

3

traits多重継承には(php 5.4 +)を使用してみてください:

<?php
header('Content-Type: text/plain');

trait Foo {
    public function sampleA(){
        echo __METHOD__, PHP_EOL;
    }
}

trait Bar {
    public function sampleB(){
        echo __METHOD__, PHP_EOL;
    }
}

class Baz {
    use Foo, Bar;
}

$test = new Baz();
$test->sampleA();
$test->sampleB();
?>

ショー:

Foo::sampleA
Bar::sampleB
于 2013-06-12T02:45:30.703 に答える