mix-inごっこ

<?php
class Test_A
{
    public function hogehoge()
    {
        echo "HOGEHOGE!";
    }
}

class Test_B
{
    public function fugefuge()
    {
        echo "BA!";
    }
}

class TEST
{
    public function __construct()
    {
        $this->mix=Array(new Test_A,new Test_B);
    }

    public function __call($name,Array $aguments)
    {
        foreach($this->mix as $val)
        {
            if(method_exists($val,$name))
            {
                $val->$name();
            }
        }
    }
}

$test = new TEST;
$test->hogehoge();
$test->fugefuge();