<?php
// 单例模式
class Singleton
{
protected static $ins = null;
/**
* 禁止子类重载 __construct() 构造方法
*/
private final function __construct() {
// 禁止 new
}
/**
* 禁止子类重载 __clone() 方法
*/
protected final function __clone() {
// 禁止 clone
}
/*
public static function getIns() {
if(self::$ins === null){
self::$ins = new self();
}
return self::$ins;
}
*/
/**
* 后期静态绑定
*/
public static function getIns() {
if(static::$ins === null){
static::$ins = new static();
}
return static::$ins;
}
}
$obj1 = Singleton::getIns();
$obj2 = Singleton::getIns();
var_dump($obj1 === $obj2); //true
// $obj3 = clone $obj1; //不能被克隆
单例模式
最新推荐文章于 2024-07-25 13:59:31 发布