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

 ?>

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:php设计模式--单例模式-创新互联
文章分享:http://pwwzsj.com/article/ddgccs.html