2.php简单工厂模式

来源:互联网 发布:人工智能机器人玩具 编辑:程序博客网 时间:2024/06/12 01:26

    一系类工厂模式都是在约束和为创建不同的对象带来便利。简单工厂就是在你的"客户端"根据你所传递的类名创建对应的对象,并返回。

    我们模拟多种数据库之间的切换工作,我本机并没有装多种数据库,我们模拟一下,体现一下思想就好。

<?php//创建数据库的父类interface DB{    public function conn();}//mysql数据库的连接class Mysql implements DB{    public function conn(){        echo "连接Mysql成功!";    }}//Orcale数据库连接class Orcale implements DB{    public function conn(){        echo "连接Orcale成功!";    }}
    以上内容都很简单,简单工厂的关键在客户端对对象的创建。通过不同的类型名来判断到底要创建哪一种数据库对象。这里直接使用if来判断,当类型数量很少的时候这种办法是很好的,但是当类型巨多的时候就要使用其他工厂方法了。

//给客户程序员使用的接口class Client{    public static function createDB($type){        if (strtolower($type) == "mysql"){            $type = ucwords($type);            return new $type();         }else if(strtolower($type) == "orcale"){            $type = ucwords($type);            return new $type();        }else {            throw new Exception('没有找到相应的数据库',1);        }    }}
    查看如何调用

$db = Client::createDB('Mysql');$db->conn();echo "<br/>";$db = Client::createDB('orcale');$db->conn();
    最后显示的结果

        连接Mysql成功!
        连接Orcale成功!

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 旺旺号被限制有退款怎么办 登陆微信收不到验证码怎么办 淘宝店注册成功后怎么办 充电宝掉进水里怎么办 空光盘读不出来怎么办 苹果8plus丢了怎么办 苹果8plus掉了怎么办 淘宝账户被限制使用怎么办 飞利浦电脑显示器黑屏怎么办打开 微信忘记密码手机号停用怎么办 淘宝账号登录密码忘记了怎么办 淘宝支付密码输错了怎么办 淘宝支付密码忘记了怎么办 淘宝货品上架后显示过期怎么办 被淘宝客监控了怎么办 助学贷款支付宝账号忘记怎么办 离婚支付宝的钱怎么办 扫码加载不出来怎么办 淘宝店铺被投诉售假怎么办 刚开的新店没人怎么办 淘宝访客量突然下降怎么办 支付宝账号封了怎么办 苹果x手机黑屏打不开怎么办 淘宝支付密码被锁定怎么办 淘宝支付密码锁定了怎么办 很抱歉手机淘宝停止运行怎么办 苹果手机桌面淘宝图标不见了怎么办 提示网页上有错误怎么办 淘宝定制家具违约两个月怎么办 同行在买家评价下面评论怎么办 淘宝知识产权侵权被投诉了怎么办 闲鱼买家说是假货退货怎么办 日验证失败次数上限怎么办 淘宝卖家发货不全怎么办 子账号登录不上怎么办 淘宝宝贝曝光量少怎么办 淘宝买东西退款卖家拒绝怎么办 华为手机淘宝不能收藏宝贝怎么办 包裹发出不想要了怎么办 淘宝改登录密码忘记了怎么办 三星s8应用闪退怎么办