interface test{
public function Ontest();
}
class caincommand{
private $_command=array();
public function addOrder($command){
$this->_command[]=$command;
}
public function testd($name,$arg){
foreach($this->_command as $a){
if($a->Ontest() == $name){
echo $name;
}
}
}
}
class testDog implements test{
public function Ontest(){
return 'dog';
}
}
class testCat implements test{
public function Ontest(){
return 'cat';
}
}
$dog = new testDog();
$cat = new testCat();
$cain = new caincommand();
$cain->addOrder($dog);
$cain->addOrder($cat);
//$cain->testd('dog','null');
$cain->testd('cat','null');
自己测试的,具体在框架中大家自己体会.