PHP单例的实现

<?php

/*燕十八 公益PHP培训  

课堂地址:YY频道88354001  

学习社区:www.zixue.it */

 class Single{

		static public $Instance=null;//用于保存一个类的对象

		public $hash=null;

		final protected function __construct(){//final实现了不能重写,protected实现了不能new对象的功能

			$this->hash = mt_rand(1,99999);//生成一个随机的数,用于判断是否是同一个对象

		}

		static public function setInstance(){//静态方法确保对象还没有的状态下也能调用

			if(self::$Instance instanceof self){//判断是否是类的对象

				return self::$Instance;

			}

			self::$Instance=new self();

			return self::$Instance;

		}

	}

	



	$men=Single::setInstance();//调用静态方法,实现了一个对象的创建

	$men1=Single::setInstance();//返回的一个对象通过$hash来判断是否是同一个对象

	echo "<pre>";

	

		print_r($men);

		echo '<hr/>';

		print_r($men1);

		echo '<hr/>';



	echo "</pre>";

 

你可能感兴趣的:(PHP)