php设计模式 — 单例模式(singleton)

王朝学院·作者佚名  2016-05-25
窄屏简体版  字體: 小  |  中  |  大  |  超大  

php设计模式 — 单例模式(singleton) 2014-09-12 13:15 by 爱情香烟, ... 阅读, ... 评论, 收藏, 编辑 请学习此单例模式之前,请选阅读另外的设计模式

php设计模式 — 简单工厂模式(静态工厂方法模式)

php设计模式 — 工厂方法模式(多态性工厂模式) (虚拟构造子模式)

php设计模式 — 抽象工厂模式

作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类

单例模式(singleton)有三个特点1、一个类只能有一个实例2、它必须自行创建这个实例3、它必须自行向整个系统提供这个实例

图例:

代码示例:

单例模式在java中会被分为懒汉式单例模式 | 饿汉式单例模式

不过,饿汉式单例模式在PHP中不能使用,下面我会把写法代码列出来,在运行时会提示错误。这里只是提供一种用法概念。

饿汉式单例模式:

1 //这是饿汉单例模式 2 //不过在php里,不允许这么实用。所以我们主要是说PHP的懒汉式单例模式 3 class test { 4 PRivate static $_instance = new self(); 5 6 public static function getInstance(){ 7 return self::$_instance; 8 } 9 10 private function __construct(){11 //检查实例化12 echo "instance\n";13 }14 15 }16 $a = test::getInstance();17 var_dump($a);

懒汉式单例模式:

1 //懒汉式单例模式 2 3 class test { 4 private static $_instance; 5 6 public static function getInstance(){ 7 if(!self::$_instance){ 8 self::$_instance = new self(); 9 }10 return self::$_instance;11 }12 13 private function __construct(){14 //检查实例化15 echo "instance\n";16 }17 18 }19 20 $a = test::getInstance();21 var_dump($a);

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航