PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [1] 单例模式连接数据库
2015-03-21 12:49
1216 查看
单例模式
单例模式三大原则:
① 构造函数需要标记为非 public (防止外部使用 new 操作符创建对象),单例类不能在其他类中实例化,只能被自身实例化;
② 拥有一个保存类的实例的静态成员变量 $_instance
③ 拥有一个访问这个实例的公共的静态方法
单例模式(参见 PHP 单例模式代码片段):
单例模式连接数据库:
页面输出:
resource(3, mysql link)
int 2
单例模式三大原则:
① 构造函数需要标记为非 public (防止外部使用 new 操作符创建对象),单例类不能在其他类中实例化,只能被自身实例化;
② 拥有一个保存类的实例的静态成员变量 $_instance
③ 拥有一个访问这个实例的公共的静态方法
单例模式(参见 PHP 单例模式代码片段):
<?php /* * 单例模式 */ class DB{ static private $_instance; private function __construct(){ } static public function getInstance(){ if(!self::$_instance instanceof self){ self::$_instance = new self(); } return self::$_instance; } }
单例模式连接数据库:
<?php /* * 单例模式连接数据库 */ class DB{ static private $_instance; //非public的类的实例的静态成员变量 static private $_connectSource; //连接数据库返回的资源句柄 private $_dbConfig = array( 'host'=>'127.0.0.1', 'username'=>'root', 'pwd'=>'', 'database'=>'chat' ); private function __construct(){ //非public 的构造函数 } static public function getInstance(){ //访问实例的公共静态方法 if(!self::$_instance instanceof self){ self::$_instance = new self(); } return self::$_instance; } public function connect(){ if(!self::$_connectSource){ //连接mysql服务 self::$_connectSource = mysql_connect($this->_dbConfig['host'],$this->_dbConfig['username'],$this->_dbConfig['pwd']); 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(); var_dump($connect); $sql = 'select * from messages'; $res = mysql_query($sql,$connect); $num = mysql_num_rows($res); var_dump($num);
页面输出:
resource(3, mysql link)
int 2
相关文章推荐
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [3] 首页 APP 接口开发方案 ② 读取缓存方式
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [6] 版本升级接口开发
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [7] APP 错误日志接口
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [4] 首页 APP 接口开发方案 ③ 定时读取缓存方式
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [5] 版本设计分析及数据表设计
- PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口
- PHP 开发 APP 接口 学习笔记与总结 - JSON 方式封装通信接口
- PHP 开发 APP 接口学习笔记与总结 - [ Linux ] 定时任务
- PHP 开发 APP 接口 学习笔记与总结 - 静态缓存
- PHP 开发 APP 接口 学习笔记与总结 - XML 方式封装通信接口
- PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存
- php单例模式使用实例之数据库连接
- PHP开发APP接口(四):单例模式
- PHP 设计模式 笔记与总结(2)开发 PSR-0 的基础框架
- 黑马程序员之C#学习笔记:用户实例连接非内嵌式数据库
- java开发中基于JDBC连接数据库实例总结
- PHP学习笔记【二】之《数据库抽象层PDO---PDO连接数据库》
- php学习笔记之PDO连接数据库及一些操作
- PHP学习笔记:用mysqli连接数据库