<?phpclass Dog{ public function Bark() {}}class Monkey{ public function Climb() {}}class Fish{ public function Swim() {}}class ObjectMerger{ public $ObjectContainer=array(); public function __call($method, $argv) { foreach ($this->ObjectContainer as $Object) { if (in_array($method, get_class_methods(get_class($Object)))) { echo "Calling ".$method."\n"; return true; } } echo "Unknown method $method\n"; return false; } public function addObject($Object) { $this->ObjectContainer[]=$Object; }}$newSpecies=new ObjectMerger;$newSpecies->addObject(new Dog);$newSpecies->Bark();$newSpecies->addObject(new Monkey);$newSpecies->Climb();$newSpecies->addObject(new Fish);$newSpecies->Swim();$newSpecies->UnknownCall();/*Output:C:\>php -f ObjectMerger.phpCalling BarkCalling ClimbCalling SwimUnknown method UnknownCall*/?>