php单例模式示例分享

 这篇文章主要分享了一则php单例模式的示例,设计模式这些的花点心思基本的是能够理解的,当然要想很好的运用到项目上也是需要一定的实践,不能只是知道了解,或者说的是很厉害很懂的,一到要实际操作就不行了,废话就不多说了

 
 

单例模式主要使用于数据库的连接, 确保数据库一个类只有一个实例, 并且向整个系统提供这个实例。从而避免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 ();
?>

时间: 2024-11-05 06:12:34

php单例模式示例分享的相关文章

php单例模式示例分享_php实例

单例模式主要使用于数据库的连接, 确保数据库一个类只有一个实例, 并且向整个系统提供这个实例.从而避免new操作消耗资源, 同时避免数据库出现too many connection信息. 要点有三个: 1. 必须只有一个实例. 2. 必须自动创建这个实例. 3. 必须向整个系统提供这个实例. 复制代码 代码如下: <?      class mysql{         privete static $instance ;//保存实例          //构造函数声明为private, 防止直

asp.net发送邮件示例分享

 这篇文章主要介绍了asp.net发送邮件示例分享,需要的朋友可以参考下 mailhelper  -------mail帮助类    代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mail;   /// <summary> ///mailhelper 的摘要说明 /// </summary> public clas

PHP 使用redis简单示例分享

 这篇文章主要介绍了PHP 使用redis简单示例分享,主要是给大家展示下,php使用redis的方法,有需要的小伙伴们参考下.     示例很简单,注释里也都做了说明,这里就不多废话了.   代码如下: <?php /*从平台获取数据库名*/ $dbname = ""; /*从环境变量里取host,port,user,pwd*/ $host = ''; $port = ''; $user = ''; $pwd = ''; try { /*建立连接后,在进行集合操作前,需要先进行

php实现水仙花数的4个示例分享

 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 3^3+ 5^3 = 153)这篇文章主要介绍了php实现水仙花数的4个示例分享,需要的朋友可以参考下 示例1:    代码如下: <?php for($q=1;$q<=9;$q++){     for($w=0;$w<=9;$w++){       for($e=0;$e<=9;$e++){         if($q*$q*$q + $w*$w*$w + $e*$e*

jquery五角星评分插件示例分享

 这篇文章主要介绍了jquery五角星评分插件示例分享,需要的朋友可以参考下    代码如下: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery五角星评分插件</title> <script type="text/javascri

javascript请求servlet实现ajax示例(分享)

ajax请求是一种无刷新式的用户体验,可以发送GET和POST两种异步请求,现记录如下: GET请求: function sendRequestByGet(){ //定义异步请求对象 var xmlReq; //检测浏览器是否直接支持ajax if(window.XMLHttpRequest){//直接支持ajax xmlReq=new XMLHttpRequest(); }else{//不直接支持ajax xmlReq=new ActiveObject('Microsoft.XMLHTTP')

php利用腾讯ip分享计划获取地理位置示例分享

 这篇文章主要介绍了php利用腾讯ip分享计划获取地理位置示例,大家参考使用吧 代码如下: <?php function getIPLoc_QQ($queryIP){     $url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$queryIP;     $ch = curl_init($url);     curl_setopt($ch,CURLOPT_ENCODING ,'gb2312');   curl_setopt($ch, CUR

JavaScript实现图片滑动切换的代码示例分享_javascript技巧

假设我们这里有1到5五张bmp图片,那么控制图片切换显示的核心代码可以为: <script> var i=1; var img = new Array(); img[0] = "1.bmp"; img[1] = "2.bmp"; img[2] = "3.bmp"; img[3] = "4.bmp"; img[4] = "5.bmp"; function playImg(){ i=i+1; var

yepnope.js使用详解及示例分享_javascript技巧

yepnope.js的一个典型实例: yepnope({ test : Modernizr.geolocation, yep : 'normal.js', nope : ['polyfill.js', 'wrapper.js'] }); 此实例表示如果Modernizr.geolocation为真的时候加载normal.js,为假则加载polyfill.js及wrapper.js. yepnope完整语法: yepnope([{ test : /* boolean(ish) 输入条件 */, y