php 三种基础设计模式结合使用
来源:互联网 发布:linux 虚拟机 双系统 编辑:程序博客网 时间:2024/05/23 18:07
<?php//单例模式class DB{ private static $db;//私有化禁止外部调用 final private function __construct(){ } //禁止被克隆 private function __clone(){//私有化禁止被克隆 } static function getInstance(){//静态化 if(self::$db == null && !(self::$db instanceof self)){ self::$db=new self(); } return self::$db; }}/* * 单例模式是为了节省资源,比如数据库对象,一个实例就够 * *///注册树模式class Register{ protected static $objects; static function _set($alias, $obj){ self::$objects[$alias] = $obj; } static function _unset($alias){ unset(self::$objects[$alias]); } static function _get($obj){ if(isset(self::$objects[$obj])){ return self::$objects[$obj]; } }}/* * 注册树模式 把对象注册到全局的书上面,取的时候只需要在从树上取即可 * */class Factory{ static function createDB(){ $db = DB::getInstance();//工厂结合单例模式 Register::_set('mysql',$db); return $db; }}/* 使用场景 当我们定义一个db类,在很多文件中都有使用 new DB();当 我们的DB 类根据需求发生改变比如变成了DA 此时就不需要所有文件去更改new DB();因为使用的是 工厂模式;只需要更改Factory内部的代码就行了; */$db = Factory::createDB();//工厂只调用一次把数据库对象注册到树上,取的时候就//下次再取db就$db = Register::_get('mysql');
阅读全文
0 0
- php 三种基础设计模式结合使用
- PHP设计模式(三)
- PHP的三个设计模式结合
- PHP中的三种基本设计模式
- PHP设计模式(三):封装
- 将多种设计模式结合使用
- 反射结合工厂设计模式的使用
- 结合PHP -----浅谈设计模式之单件模式
- 慕课网----大话PHP设计模式 三(三种基本设计模式-工厂模式,单例模式,注册树模式)
- PHP设计模式(一):基础编程模式
- PHP常用的三种设计模式学习总结
- PHP中常用的三种设计模式
- 面向对象基础三种基本设计模式
- 结合Android理解23种设计模式
- 大话设计模式之三:浅谈基础
- 如何将多种设计模式结合使用(有原代码)
- 如何将多种设计模式结合使用(源代码)
- 反射机制和工厂设计模式结合使用
- 配置IP
- 敏感字过滤器
- Linux驱动技术(七) _内核定时器与延迟工作
- Android自定义动画专题二
- 第十九周:[sicily] 算法机考模拟题
- php 三种基础设计模式结合使用
- awk技巧总结
- Dell-1080Ti 深度学习Win 10 + Ubuntu 16.04.02 双系统安装+anaconda2+tensorflow+opencv3.2+caffe
- leetcode 第十三周算法报告
- Mac版程序员喜欢的键位 -- macos Sierra 版本
- 关于Mysql数据库插入数据失败的原因
- Linux学习之文件搜索命令(二)其他搜索命令 locate |which|whereis|grep
- mycat 的那些事(推荐)
- 51Nod 1284 2 3 5 7的倍数