工厂模式是PHP中经常用到的一种设计模式。今天我们就来简单的分析一下什么是工厂模式。
1.工厂模式在PHP中的实例应用
有这样一个需求,在做支付接口的时候,可能会要应对不同的支付网关:支付宝,微信,财付通等等。所以为了方便扩展。设计一个专门生产网关接口的工厂,抽象出来,做成接口形式,让所有的子类都实现它的接口。
2. 关键词:静态方法
3.代码解释
<?php
interface Pay{
public function topay();
}
class alipay implements Pay{
public function topay()
{
// TODO: Implement topay() method.
echo '您正在使用支付宝支付';
}
}
class wechatpay implements Pay{
public function topay()
{
// TODO: Implement topay() method.
echo '您正在使用微信支付<br/>';
}
}
class PayFactory{
static public function factory($class_name){
return new $class_name();
}
}
//实例化
$obj = PayFactory::factory('alipay');
$obj->topay();
4.工厂模式的优缺点
如果已经使用的类内部发生改变,哪不需要在所有的地方都改变,只需要在类工厂类里改变既可