博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php设计模式
阅读量:5339 次
发布时间:2019-06-15

本文共 1195 字,大约阅读时间需要 3 分钟。

设计模式

单例模式
1.将构造函数变成私有的
2.提供一个静态方法来返回对象
3.在方法里面加限制条件

class Ren{

    public $name;
    public static $dx;
    private function __construct(){    
    }
    public static function duixiang(){
        if(empty(Ren::$dx)){
            Ren::$dx = new Ren();
        }
        return Ren::$dx;
    }
}
$r = Ren::duixiang();
$r->name = "张三";
$r1 = Ren::duixiang();
var_dump($r1);

//工厂模式

/*class YunSuan{
    public $a;
    public $b;
    public function jia(){
        return $this->a+$this->b;
    }
    public function jian(){
        return $this->a-$this->b;
    }
    public function cheng(){
        return $this->a*$this->b;
    }
    public function chu(){
        return $this->a/$this->b;
    }
}*/
//做为父类
/*class YunSuan{
    public $a;
    public $b;
    public function suan(){
    }
}
class Jia extends YunSuan{
    public function suan(){
        return $this->a+$this->b;
    }
}
class Jian extends YunSuan{
    public function suan(){
        return $this->a-$this->b;
    }
}
class Yu extends YunSuan{
    public function suan(){
        return $this->a%$this->b;
    }
}
//工厂类
class GongChang{
    public static function duixiang($ysf){
        switch($ysf){
            case "+":
                return new Jia();
                break;
            case "-":
                return new Jian();
                break;
            case "%":
                return new Yu();
                break;
        }
    }
}
$y = GongChang::duixiang("-");
$y->a = 10;
$y->b = 5;
echo $y->suan();*/

转载于:https://www.cnblogs.com/sunzhenkun/p/7440785.html

你可能感兴趣的文章
Android轻量级的开源缓存框架ASimpleCache
查看>>
他山之石:加载图片的一个小问题
查看>>
shell - 常识
查看>>
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
查看>>
分层图最短路【bzoj2763】: [JLOI2011]飞行路线
查看>>
linux下编译复数类型引发的错误:expected unqualified-id before '(' token
查看>>
codeforces 1041A Heist
查看>>
字典常用方法
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>