您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

PHP 设计模式

本文只是学习笔记,原文地址 大话PHP设计模式

知识储备

命名空间

类自动加载

单例模式

class SingleModel
{
    static $obj;
    public $num;

    private function __construct()
    {
        $this->num = 0;
    }

    static function getInstance()
    {
        if (! self::$obj ) {
            self::$obj = new self();
        }
        return self::$obj;  
    }
}

测试

$single = SingleModel::getInstance();

$single->num++;

$single_2 = SingleModel::getInstance();

echo $single_2->num; // 1

为何私有化 s 方法 ? 防止类被实例化

__construct 设置为 private, 防止类被实例化

$single_3 = new SingleModel();  
#  Uncaught Error: Call to private SingleModel::__construct() from invalid context

工厂模式

class FactoryModel
{
    static function createSingle()
    {
        return SingleModel::getInstance();
    }
}

Demo

$sigle = FactoryModel::createSingle();

工厂模式优点:有一天 SingleModel 类发生了改变, 只需要修改 createSingle() 一处即可


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进