php常见五种设计模式

php面向对象基础知识 请点击查看

单例模式

单例模式解决的是如何在整个项目中创建唯一对象实例的问题.  (示例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();

运行结果如下图:

猜你喜欢

转载自www.cnblogs.com/cxx8181602/p/9392523.html
今日推荐