MixIn
いろいろ調べていたら、aggregate関数ってのがあったので何のために使うんだろうとおもったら、これ使えばMixInができますね。以下のようにすると、AクラスにBクラスのbarという関数がMixInされます。なので、出力結果はちゃんと「foobar」になります。
これはおもしろいかも!と思ったが、PHP5では使えなくなってますね(PHP5.0.2ではそんな関数ないっていわれる・・・)。Mapleでなんかつかったろうかと思ったけど、やめとくか。面白いと思うんだが。
<?php class A { function foo() { print "foo"; } } class B { function bar() { print "bar"; } } $a =& new A; aggregate($a, 'B'); print $a->foo(); print $a->bar(); ?>