PHP单例模式
<?php
/*
 * 
 单粒模式,只能造出一个对象
 1.肯定每次new只能返回一个对象,可以使用静态方法解决
 2.子类继承也禁止重写构造方法,添加final搞定
 * 
 */
 
 
//1.普通类的实例,得到2个对象
// class  Single{
//  
// public $rand;
// 
// public function __construct(){
// $this->rand=mt_rand(1000000, 9999999999);
// }
// 
// }
// 
// var_dump(new Single());
// var_dump(new Single());
 
 
 
//2.单例模式,得到1个对象
 class  Single{
  
 
public $rand;
static $obj;
 
final protected function __construct(){
$this->rand=mt_rand(1000000, 9999999999);
}
 
//不使用静态方法就无法new
static function  getins(){
//判断是否已经实例化
if(self::$obj==null){
self::$obj=new Single();
}
return self::$obj;
 
}
 
 }
 
 
 
//测试子类继承,需要实例化子类,只能使用静态方法
 class Test extends Single{
 
 
 }
 
 
 
 
var_dump(Single::getins());
var_dump(Single::getins());
 
?>

PHP的大多数应用中都会存在大量的数据库操作,如果不用单例模式,那每次都要new操作,但是每次new都会消耗大量的系统资源和内存资源,而且每次打开和关闭数据库都是对数据库的一种极大考验和浪费。所以单例模式经常用在数据库操作类中

访客
邮箱
网址

通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作


  • 自动写文案
  • 自动写小说
  • 马上扫码让Ai帮你完成工作
通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作

  • 自动写论文
  • 自动写软件
  • 我不是人,但是我比人更聪明,我是强大的Ai
Top