代码:
class RedisSingleton {
private static $instance = null;
private $redis;
private function __construct() {
$this->redis = new Redis();
$this->redis->connect('127.0.0.1', 6379);
}
public static function getInstance() {
if (self::$instance == null) {
self::$instance = new RedisSingleton();
}
return self::$instance->redis;
}
}
在这个例子中,RedisSingleton类的构造函数被声明为私有,这意味着它不能被直接实例化。相反,getInstance()方法被用来获取类的唯一实例,并返回Redis对象。如果实例不存在,则创建一个新实例并返回它。如果实例已经存在,则直接返回它。
调用:
使用时,可以通过以下方式获取Redis对象:
$redis = RedisSingleton::getInstance();