classes[] = $class; } /** * running all classes */ public function run() { foreach ($this->classes as $class) { $class->run(); } } } /** * Demo Class1 */ class Class1 implements CompositeInterface { public function run() { echo 'Class1 run
'; } } /** * Demo Class2 */ class Class2 implements CompositeInterface { public function run() { echo 'Class2 run
'; } } /** * demo */ // create Composite $a = new Composite(); // add classes $a->addClass(new Class1()); $a->addClass(new Class2()); // run all $a->run(); /* Class1 run Class2 run */ # end of file