PHP单例的实现详解编程语言

<?php 
 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 "
"; 
	 
		print_r($men); 
		echo '<hr/>'; 
		print_r($men1); 
		echo '<hr/>'; 
 
	echo "

";

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/15111.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论