php单例模式示例分享


Posted in PHP onFebruary 12, 2015

单例模式主要使用于数据库的连接, 确保数据库一个类只有一个实例, 并且向整个系统提供这个实例。从而避免new操作消耗资源, 同时避免数据库出现too many connection信息.

要点有三个: 1. 必须只有一个实例。 2. 必须自动创建这个实例。 3. 必须向整个系统提供这个实例。

<?

     class mysql{

        privete static $instance ;//保存实例

         //构造函数声明为private, 防止直接创建对象

        privete function __construct(){

             // 实例化

         }

         //单例方法, 判断是否已经实例化,只实例化一次

         public static function getInstance (){

             if(!isset( self::$instance )){

                self ::$instance = new self();

             }

             return self:: $instance;

         }

         //防止克隆对象

         private function __clone (){

             trigger_error ("not allow to clone.");

         }

         function test(){

             echo "test" ;

         }

     }

     $conn = mysql::getInstance ();

     $conn->test ();

?>
PHP 相关文章推荐
利用Memcached在php下实现session机制 替换PHP的原生session支持
Aug 21 PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 PHP
浅析php原型模式
Nov 25 PHP
php实现refresh刷新页面批量导入数据的方法
Dec 23 PHP
php简单socket服务器客户端代码实例
May 18 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
php实现的网页版剪刀石头布游戏示例
Nov 25 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
基于swoole实现多人聊天室
Jun 14 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
Nov 13 PHP
PHP获取类私有属性的3种方法
Sep 10 PHP
PHP 正则表达式小结
Feb 12 #PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 #PHP
PHP动态输出JavaScript代码实例
Feb 12 #PHP
PHP使用JSON和将json还原成数组
Feb 12 #PHP
服务器上配置PHP运行环境教程
Feb 12 #PHP
PHP保存带BOM文件的方法
Feb 12 #PHP
自己写的php curl库实现整站克隆功能
Feb 12 #PHP
You might like
PHP之预定义接口详解
2015/07/29 PHP
php验证码实现代码(3种)
2015/09/07 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
原生js实现模拟滚动条
2015/06/15 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
Python聊天室实例程序分享
2016/01/05 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
Python configparser模块应用过程解析
2020/08/14 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
公务员总结性个人自我评价
2013/12/05 职场文书
演讲主持词
2014/03/18 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
南京南京观后感
2015/06/02 职场文书
奠基仪式致辞
2015/07/30 职场文书