首页 > 编程语言 >php 3种常见设计模式

php 3种常见设计模式

时间:2023-02-01 13:03:48浏览次数:40  
标签:function php self 常见 db private static 设计模式 Facebab

1、工厂模式

<?php
namespace Facebab;
class Factory {
static function createDatabase () {
return new Database();
}

}

$db = Facebab\Factory::createDatabase();
$db->fetchOne();

2、单例模式

<?php
namespace Facebab;
class Singleton {

private static $db = null;
private __construct() {

}

static function getInstance() {

if (self::$db != null) {
return self::$db;
} else {
self::$db = new self();
return self::$db;
}

}

private __clone() {

}
}

3、注册模式

 

<?php
namespace Facebab;
class Register {

private static $objects = array();

static function set($alias,$object) {
self::$objects[$alias] = $object;
}

static function _unset($alias) {
unset(self::$objects[$alias]);
}

static function get($name) {
return self::$objects[$name];
}
}

Register::set('db1',$db);
$db = Facebab\Register::get('db1');

 



标签:function,php,self,常见,db,private,static,设计模式,Facebab
From: https://blog.51cto.com/u_2820398/6031398

相关文章

  • php类自动装载、链式操作、魔术方法
    1、自动装载实例目录下有3个文件:index.phpload.phptests文件夹tests文件夹里有test1.php<?phpnamespaceTests;classTest1{staticfunctiontest(){......
  • PHP读取流文件
    $filepath='http://www.vip.com/down';$fp=fopen($filepath,"r");Header("Content-type:application/octet-stream");Header("Ac......
  • PHP一个典型的闭包实例
    <?php//一个基本的购物车,包括一些已经添加的商品和每种商品的数量。//其中有一个方法用来计算购物车中所有商品的总价格,该方法使//用了一个closure作为回调函数。class......
  • php使用魔法函数和不使用魔法函数比较
    /***usemagic0.31868386268616s*notusemagic0.11876797676086s*/classTest{private$varstr="123";function__get($name){return$this->vars......
  • 应用部署初探:3个主要阶段、4种常见模式
    应用部署是一个将软件提供给用户的过程,通常包含配置环境、安装及测试等步骤。现如今,大部分企业在部署新的应用程序时,会至少自动化其中一些步骤。应用程序部署的策略会影响......
  • 应用部署初探:3个主要阶段、4种常见模式
    应用部署是一个将软件提供给用户的过程,通常包含配置环境、安装及测试等步骤。现如今,大部分企业在部署新的应用程序时,会至少自动化其中一些步骤。应用程序部署的策略会影响该......
  • PHP 将内容保存为Excel
    //使用这一对Header,程序中所有输出内容会保存至一份excel中并下载header('Content-type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');head......
  • 667~668 xml解析方式 AND xml常见的解析器
    xml解析方式解析:操作xml文档,将文档中的数据读到内存中操作xml文档1.解析(读取):将文档中的数据读到内存中2.写入:将内存中的数据保存到xml文档中......
  • 设计模式-Simple Factory(简单工厂)
    模式说明简单工厂模式又叫静态工厂模式,但不属于23种设计模式。简单工厂模式是由一个工厂对象决定创建出哪一个产品类的实例。UML结构图优点实现了对责任的分割,隔离了......
  • RabbitMq使用中常见错误--python版
    用python的pika库错误集 一、pika.exceptions.ProbableAuthenticationError:ConnectionClosedByBroker:(403)‘ACCESS_REFUSED-Loginwasrefusedusingauthentica......