php设计模式--单例模式

单例模式顾名思义:

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了平舆免费建站欢迎大家使用!

    这个类只能实例化一次.不能被克隆.一般被用来处理数据库操作等需要频繁使用,但是多次实例化又很浪费内存的类.

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

    

#单例模式

######################

class Single{

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

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

public static function getInstance()

{

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

 ?>


文章题目:php设计模式--单例模式
标题URL:http://bzwzjz.com/article/ijeshd.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 企业网站制作 盐亭网站设计 成都网站建设 成都营销网站建设 成都网站建设 成都网站设计 响应式网站设计 四川成都网站设计 成都网站建设推广 移动网站建设 成都网站建设 成都网站制作 成都网站建设 企业网站建设 重庆网站制作 成都网站建设公司 成都网站建设 手机网站建设套餐 网站制作 成都网站制作 营销型网站建设 成都网站制作