【单例模式】
特点:单例模式就是指在类中只new一个实例化对象,用于避免资源的浪费。如Redis、MySQL等在应用中调用较为频繁的类,希望整个应用只实例化一个。
结构: 4私有1公有。
示例:一个单例Redis操作类:
<?php
namespace app\design01\controller;
class Dredis {
//私有静态变量 防止类外部修改
private static $_instance = null;
//私有构造方法 防止类外部new
private function __construct(){
self::$_instance = new \Redis();
$result = self::$_instance->connect('127.0.0.1',6379);
if($result === false){
throw new \Exception('redis connect error');
}
}
//公有静态方法 引用一个实例对象
public static function getInstance(){
if(null === self::$_instance)