<?php
//单例模式 类只能被实例化一次只能得到一个对象
class Single{
public $rand;
static public $ob=null;
final protected function __construct(){
$this->rand=mt_rand(1000000000,99999999999);
}
static public function getins(){
//对外开放一个接口
if (Single::$ob===null){
//让其对象只new一次
Single::$ob=new Single();
}
return Single::$ob;
}
}
class Test extends Single{
public function __construct(){
}
}
//一旦new Sngle实例化遇到protected方法就会报错,外部是不能调用protected的方法
var_dump(Single::getins());//于是将属性转为静态就不用实例化new对象就能直接调用类中的方法
new test();//会报错,主要是final不允许构造函数被重写,这样就能实现单一的对象模式
?>
单例模式
最新推荐文章于 2024-09-18 14:56:16 发布