单例模式
单例模式解决的是如何在整个项目中创建唯一对象实例的问题. (示例demo:)
1 <?php 2 //单例模式:保证某个类只有一个实例,能自行实例化对象,完成其所有的功能操作. 3 //最典型案例:数据库操作(单例模式可以避免大量的new操作.每一次new操作都会消耗系统和内存的资源.) 4 header("Content-Type: text/html;charset=utf-8"); 5 class User{ 6 //静态的私有属性(保存一个当前类的唯一对象) 7 private static $instance; 8 //私有的构造方法,防止类外new新对象 9 private function __construct(){ 10 } 11 //私有的克隆方法,防止类外克隆新对象 12 private function __clone(){ 13 14 } 15 //静态的公开方法,得到当前类的对象 16 public static function getInstance(){ 17 if(!self::$instance){ 18 self::$instance = new self(); 19 } 20 return self::$instance; 21 } 22 23 private $name; 24 public function setName($n){ 25 $this->name = $n; 26 } 27 public function getName(){ 28 echo $this->name; 29 } 30 31 } 32 $userA = User::getInstance(); 33 $userB = User::getInstance(); 34 echo ‘<pre>‘.‘单例模式获取唯一实例:‘.‘<br>‘; 35 var_dump($userA,$userB); 36 37 echo ‘<hr>‘.‘单例模式获取当前类私有属性:‘.‘<br>‘; 38 $userA->setName(‘admin_a‘); 39 $userB->setName(‘admin_b‘); 40 $userA->getName(); 41 echo ‘<br>‘; 42 $userB->getName();
运行结果如下图:
原文地址:https://www.cnblogs.com/cxx8181602/p/9392523.html
时间: 2024-10-14 11:13:15