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();