所谓单例模式至始至终只有一个实例,不用开辟新的空间存储新的资源,常用于资源类型操作 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();
?>