加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php实现设计模式中的单例模式详解

发布时间:2020-12-13 02:03:51 所属栏目:PHP教程 来源:网络整理
导读:《:php实现设计模式中的单例模式详解》要点: 本文介绍了:php实现设计模式中的单例模式详解,希望对您有用。如果有疑问,可以联系我们。 PHP教程 【概要】 PHP教程 保证一个类仅有一个实例,并且提供一个拜访它的全局拜访点【GOF95】 PHP教程 【特点】 PHP

《:php实现设计模式中的单例模式详解》要点:
本文介绍了:php实现设计模式中的单例模式详解,希望对您有用。如果有疑问,可以联系我们。

PHP教程【概要】

PHP教程保证一个类仅有一个实例,并且提供一个拜访它的全局拜访点【GOF95】

PHP教程【特点】

PHP教程1、一个类只有一个实例
2、它必须自行创建这个实例
3、必须自行向整个系统提供这个实例

PHP教程【结构图】

PHP教程:php实现设计模式中的单例模式详解

PHP教程【主要角色】

PHP教程Singleton定义一个Instance操作,允许客户拜访它的唯一实例.Instance是一个类方法.负责创建它的唯一的实例.

PHP教程【优缺点】

PHP教程1、对唯一实例的受控拜访
2、缩小命名空间 单例模式是对全局变量的一种改进.它避免了那些存储唯一实例的全局变量污染命名空间
3、允许对操作和表示的精华 单例类可以有子类.而且用这个扩展类的实例来配置一个应用是很容易的.你可以用你所需要的类的实例在运行时刻配置应用.
4、允许可变数目的实例(多例模式)
5、比类操作更灵活

PHP教程【适用性】

PHP教程1、当类只能有一个实例而且客户可以从一个众所周知的拜访点拜访它时
2、当这个唯一实例应该是通过子类化可扩展的.并且用户应该无需更改代码就能使用一个扩展的实例时.

PHP教程【单例模式php实例】

代码如下:

<?php
?/**
?* 单例模式
?* -------------
?* @author ??zhaoxuejie <zxj198468@gmail.com>
?* @package ?design pattern
?* @version ?v1.0 2011-12-14
?*/
class Singleton {
?
?//私有静态成员变量,保存全局实例
?private static $instance = NULL;
?
?//私有构造办法,保证外界无法直接实例化
?private function __construct(){}
?
?//静态办法,返回此类唯一实例
?public static function getInstance(){
??if(!isset(self::$instance)){
???$c = __CLASS__;
???self::$instance = new $c;
??}
??return self::$instance;
?}
?
?//测试用办法
?public function info(){
??return 'ok';
?}
?
?//防止克隆
?public function __clone(){
??trigger_error('Clone is not allowed.',E_USER_ERROR);
?}
}

PHP教程$s = Singleton::getInstance();
echo $s->info();
?>

编程之家培训学院每天发布《:php实现设计模式中的单例模式详解》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读