php简单工厂化模式

//工厂化模式
class Factory {//创建一个基本的工厂类
static public function fac($id){//创建一个返回对象实例的静态方法
if(1 == $id) return new A();
elseif(2==$id) return new B();
elseif(3==$id) return new C();
return new D();
}
}

interface FetchName {//创建一个接口
public function getname();
}

class A implements FetchName{
private $name = "AAAAA";
public function getname(){ return $this->name; }
}

class C implements FetchName{
private $name = "CCCCC";
public function getname(){ return $this->name; }
}
class B implements FetchName{
private $name = "BBBBB";
public function getname(){ return $this->name; }
}

class D implements FetchName{
private $name = "DDDDD";
public function getname(){ return $this->name; }
}


// $o = Factory::fac(6);//调用工厂类中的方法
// if($o instanceof FetchName){
// echo $o->getname();//DDDDD
// }

$p=Factory::fac(3);
echo $p->getname();//CCCCC

posted @ 2019-05-06 10:37  黑白配  阅读(179)  评论(0编辑  收藏  举报