首页 > Web开发 > 详细

php常见五种设计模式

时间:2018-07-30 21:03:27      阅读:165      评论:0      收藏:0      [点我收藏+]

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();

 

运行结果如下图:

技术分享图片

 

php常见五种设计模式

原文:https://www.cnblogs.com/cxx8181602/p/9392523.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!