本文实例讲述了PHP实现单例模式建立数据库连接的方法。分享给大家供大家参考,具体如下:
理解php单例模式
一、什么是单例
wiki百科:单例模式,也叫单子模式,是一种常用的软件设计模式。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。
二、为什么用单例
实际项目中像数据库查询,日志输出,全局回调,统一校验等模块。这些模块功能单一,但需要多次访问,如果能够全局唯一,多次复用会大大提升性能。这也就是单例存在的必要性。
三、单例模式的好处
1:减少频繁创建,节省了cpu。
2:静态对象公用,节省了内存。
3:功能解耦,代码已维护。
四、如何设计单例
通过上面的描述,单例的核心是,实例一次生成,全局唯一,多次调用。因此在单例模式必须包含三要素:
1:私有化构造函数,私有化clone。也就是不能new,不能clone。【唯一】
2:拥有一个静态变量,用于保存当前的类。【唯一如何保存】
3:提供一个公共的访问入口。【可以访问】
五、建立数据库连接
PS:功能上不太完整,以后再补充**__**
/** * 单例模式连接数据库--面向对象 * */ //final关键字阻止此类被继承 final class sql2 { static $instance; static $connect; protected $result; //protected关键字阻止此类在外部进行实例化 protected function __construct($host, $user, $password) { self::$connect = @new mysqli($host, $user, $password); if (self::$connect->connect_errno) { die(iconv('gbk', 'utf-8', self::$connect->connect_error) . '(' . self::$connect->connect_errno . ')'); } } //protected关键字阻止此类在外部进行克隆 protected function __clone() { } //当对象被销毁时关闭连接 function __destruct() { self::$connect->close(); } //获取实例 static function getInstance($host, $user, $password) { self::$instance = self::$instance "_blank" href="//www.jb51.net/Special/43.htm">php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》希望本文所述对大家PHP程序设计有所帮助。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年09月30日
2024年09月30日
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】
- 李恕权.2003-回·20年全精选2CD【SONY】【WAV+CUE】