本篇文章给大家分享的是有关如何实现单例模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
header("Content-type:text/html;charset=utf-8");
// final修饰类,则Single类不能被子类继承
final class Single{
// 声明私有的静态变量
private static $instance;
// 构造函数
private function __construct(){}
// 获取单例对象函数
static public function getInstance(){
if(!is_null(self::$instance)){
return self::$instance;
}else{
return self::$instance = new Single();
}
}
// 禁止对象的克隆,clone关键字使用时会报错
private function __clone(){
}
}
$obj1 = Single::getInstance();
var_dump($obj1);
$obj2 = Single::getInstance();
var_dump($obj2);
// 这里会报错
$obj3 = clone $obj2;
var_dump($obj3);
以上就是如何实现单例模式,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注天达云行业资讯频道。