zhenglu

导航

PHP单态模式总结

快半年没用过php写东西,框架用的,php的基础都丢得差不多了

单态模式的优点,一个对象只生成一次,节省内存提高效率

<?php
	class StaticTest
	{
		//静态成员,
		static $obj = null;
		/*
		*	静态属性不可以由对象通过->操作符来访问。 
		*	用::方式调用一个非静态方法会导致一个E_STRICT级别的错误。
		*	当实例化一个对象时,会调用构造方法
		*	设为 private 外部将不可访问
		*/
		/*private function StaticTest(){
			echo "我爱";
		}*/
		private function __construct(){
			echo "我爱";
		}
		//生成对象,静态成员使用self调用
		static function getObj(){
			if(is_null(self::$obj))		//判断限制对象生成次数
				self::$obj = new StaticTest;
			return self::$obj;
		}
		function test(){
			echo "苍老师!!";
		}
		//析构函数,会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行
		function __destruct(){
			echo "苍老师生成了1次";
		}
	}
	//多次调用
	$a = StaticTest::getObj();
	$a = StaticTest::getObj();
	$a = StaticTest::getObj();
	$a = StaticTest::getObj();
	$a->test();



posted on 2013-06-18 23:10  zhenglu  阅读(176)  评论(0)    收藏  举报