PHP开发APP接口(四):单例模式
2017-03-03 10:46
363 查看
1. 单例模式连接数据库;
单例模式
设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一种只允许生成对象类的唯一实例的机制,“阻止”所有想要生成对象的访问。使用工厂方法来限制实例化过程。这个方法应该是静态方法(类方法),因为让类的实例去生成另一个唯一实例毫无意义。动机
对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行唯一化,将弹出多个窗口,如果这些窗口显示的内容完全一致,则是重复对象,浪费内存资源;如果这些窗口显示的内容不一致,则意味着在某一瞬间系统有多个状态,与实际不符,也会给用户带来误解,不知道哪一个才是真实的状态。因此有时确保系统中某个对象的唯一性即一个类只能有一个实例非常重要。PHP设计模式-单例模式
单例模式三大原则
构造函数需要标记为非 public(防止外部使用 new 操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化;拥有一个保存类的实例的静态成员变量 $_instance;
拥有一个访问这个实例的公共的静态方法
实例代码
class Db { static private $_instance; // 保存类的实例 static private $_connectSource; // 连接的资源 private $_dbConfig = array( 'host' => '192.168.2.110', 'user' => 'root', 'password' => 'root', 'database' => 'muke', ); // 构造函数需要设置成私有,防止被其他类实例化 private function __construct() { } // 访问实例的公共方法 static public function getInstance() { // 是否实例,如果没有则实例化类 if (!self::$_instance instanceof self) { self::$_instance = new self(); } return self::$_instance; } public function connect() { if(!self::$_connectSource) { self::$_connectSource = mysql_connect($this->_dbConfig['host'], $this->_dbConfig['user'], $this->_dbConfig['password']); if(!self::$_connectSource) { die('mysql connect error'. mysql_error()); } mysql_select_db($this->_dbConfig['database'], self::$_connectSource); mysql_query("set names UTF8", self::$_connectSource); return self::$_connectSource; } } } $connect = Db::getInstance()->connect(); $sql = "select * from mk_user"; $result = mysql_query($sql, $connect); echo mysql_fetch_row($result); var_dump($result);
相关文章推荐
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [1] 单例模式连接数据库
- APP接口简介---PHP开发APP接口
- php服务器开发之 app客户端首页接口开发(一) 概述及方案一:读取数据库方式开发首页接口
- PHP 开发 APP 接口 学习笔记与总结 - JSON 方式封装通信接口
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式
- PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存
- 浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
- PHP 开发 APP 接口 学习笔记与总结 - XML 方式封装通信接口
- php开发app接口 使用php产生xml格式的文档
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
- PHP开发APP接口---返回数据的封装类
- php开发安卓服务器之 php封装json xml通用app数据通信接口
- PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
- PHP 与手机 APP 开发(API 接口开发)
- PHP 开发 APP 接口学习笔记与总结 - [ Linux ] 定时任务