使应用中只存在一个对象的实例,并且使这个单实例负责所有对该对象的调用
代码语言:javascript复制final class Singleton{
private static ?Singleton $instance = null;
public static function getInstance(): Singleton
{
if (static::$instance === null) {
static::$instance = new static();
}
return static::$instance;
}
private function __construct(){
}
private function __clone(){
}
private function __wakeup(){
}
}
类型前面的问号表示参数或返回值可为空(null),是PHP7的新特性例如,?string str 表示str的值可以为null或字符串此用法不只局限于静态类型,类和接口也可使用,例如,?MyInterface