【php设计模式】单例模式
程序员文章站
2022-10-05 21:40:41
实现单例的三个关键点: 1、使用一个静态成员来保持一个单例实例 2、一个私有的构造方法使得该类只能在类的内部方法中被实例化 3、在实例化对象的静态方法中,先判断静态变量是否已经被赋值,如果赋值则返回该静态成员如果没有则重新实例化赋值 单例模式: 普通实例化类: ......
实现单例的三个关键点:
1、使用一个静态成员来保持一个单例实例
2、一个私有的构造方法使得该类只能在类的内部方法中被实例化
3、在实例化对象的静态方法中,先判断静态变量是否已经被赋值,如果赋值则返回该静态成员如果没有则重新实例化赋值
单例模式:
class car{ public static $_instance = null; private $name; private function __construct($name){ $this->name = $name; } public static function getinstance($name){ if(!self::$_instance){ self::$_instance = new car($name); } return self::$_instance; } public function getname(){ return $this->name; } } $car = car::getinstance("benchi"); $car1 = car::getinstance("baoma"); print_r($car->getname()); print_r($car->getname()); // 输出 benchibenchi
普通实例化类:
class car{ private $name; public function __construct($name){ $this->name = $name; } public function getname(){ return $this->name; } } $car = new car("benchi"); $car1 = new car("baoma"); print_r($car->getname()); print_r($car1->getname()); //输出 benchibaoma