PHP面向对象深入理解之四(设计模式-单例模式)
2017-08-06 10:21
781 查看
所谓单例模式至始至终只有一个实例,不用开辟新的空间存储新的资源,常用于资源类型操作
mysql/redis/memcache/pg 等等,需要注意的是,如果使用fork 子进程的方式,请在子进程中不要使用单例模式获取实例,可能会失去资源句柄,或者程序错乱,
举个栗子:
<?php
class A
{
static private $_instance = null;//定义一个静态变量存储实例
static public function getInstace()
{
if(!self::$_instance){
self::$_instance = new A();
}
return self::$_instance;
}
}
$a = A::getInstace();
?>
mysql/redis/memcache/pg 等等,需要注意的是,如果使用fork 子进程的方式,请在子进程中不要使用单例模式获取实例,可能会失去资源句柄,或者程序错乱,
举个栗子:
<?php
class A
{
static private $_instance = null;//定义一个静态变量存储实例
static public function getInstace()
{
if(!self::$_instance){
self::$_instance = new A();
}
return self::$_instance;
}
}
$a = A::getInstace();
?>
相关文章推荐
- PHP面向对象深入理解之四(设计模式-观察者模式)
- PHP面向对象深入理解之四(设计模式-工厂模式)
- 深入PHP面向对象、模式与实践——对象与设计
- 深入PHP面向对象、模式与实践——设计模式
- 深入PHP面向对象、模式与实践——执行及描述任务(5)
- 深入PHP面向对象、模式与实践——企业模式(2)
- 深入PHP面向对象、模式与实践——生成对象(2)
- 深入PHP面向对象、模式与实践——对象工具(2)
- 深入PHP面向对象、模式与实践——对象工具(3)
- 深入PHP面向对象、模式与实践---PHP和对象
- 深入PHP面向对象、模式与实践(第 2 版) 高清PDF版下载
- 深入PHP面向对象、模式与实践——执行及描述任务(3)
- PHP面向对象之旅:深入理解static变量与方法
- [.net 面向对象程序设计深入](31)实战设计模式——使用Ioc模式(控制反转或依赖注入)实现松散耦合设计(1)
- 深入PHP面向对象、模式与实践——执行及描述任务(1)
- 深入PHP面向对象、模式与实践——高级特性(1)
- 深入理解this关键字在面向对象设计中的应用
- 深入php面向对象、模式与实践
- 深入php面向对象、模式与实践
- 深入PHP面向对象、模式与实践