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