php设计模式--单例模式

单例模式顾名思义:php

    这个类只能实例化一次.不能被克隆.通常被用来处理数据库操做等须要频繁使用,可是屡次实例化又很浪费内存的类.数据库


下面是一个带有注释的实例:
ide

    

<?php 测试

#单例模式this

######################spa

class Single{对象

private static $instance; #定义私有静态属性,用来存放本类实例化后的对象.接口

private function __construct(){} #私有构造方法,防止new实例化操做.内存


public static function getInstance()get

{

    if(!(self::$instance instanceof self)) 

                                                #instanceof又两个用途

                                                # 1.判断前面那个是不是后面的对象

                                                # 2.判断前面的是否实现类后面的接口

                                                #这里若是$instance属性内部已经存储了对象,那么无需在实例化了

{

self::$instance=new self;

}

return self::$instance; #返回属性自身,固然如今已是对象了.

}


public function info()

{

echo "this is a test"; #测试方法.

}


public function __clone()#若是外部进行克隆那么返回一个致命错误.

{

trigger_error('Clone is not allow!',E_USER_ERROR);

}

}

$e=Single::getInstance(); #调用静态方法,这个方法也是单例模式的精髓.

$e->info();

 ?>

相关文章
相关标签/搜索