<?php
class SmsApi {
public static function create($smsprovider){
$sms = null;
switch ($smsprovider) {
case 'duanxinwang':
$sms = new DuanXinWang();
break;
case 'baidusms':
$sms = new BaiduSms();
break;
}
return $sms;
}
}
class DuanXinWang {
public function getsms(){
}
}
class BaiduSms {
public function getsms(){
}
}
//使用方法
$sms = SmsApi::create(C('SMS_PROVIDER'));//此可通过配置读取 短信商 C('SMS_PROVIDER') =duanxinwang
$sms->getsms();
以下为增加版
<?php
class SmsApi {
public static function create($smsprovider){
$sms = null;
$sms= new $smsprovider(); //如果使用了命名空间,这里一定要带上
return $sms;
}
}
class DuanXinWang {
public function getsms(){
echo 'duanxinwang';
}
}
class BaiduSms {
public function getsms(){
}
}
//使用方法
$sms = SmsApi::create('DuanXinWang');//此可通过配置读取 短信商 C('SMS_PROVIDER') =DuanXinWang
$sms->getsms();
?>
最后更新于 2016年12月31日
相关博文
PHP 设计模式-工厂类