php设计模式(一)单例、工厂

2022-06-19  本文已影响0人  mafa1993

我们首先讲,单例、工厂模式,两个最最基本的设计模式

设计模式中常用的魔术方法

  1. __get/__set 访问不存在的属性时
  2. __call(fun_name,para)/__callStatic 访问类不存在的方法时调用
  3. __tostring 将对象当做字符串时,调用,比如echo一个对象
  4. __invoke($param) 将对象当做函数使用的时候调用

工厂模式

  1. 如果一个类发生名字、参数等修改,可以直接在工厂里修改,不用在每个new的地方修改
class Factory {
    static function createDB(){
        return new DataBases();
    }
}

单例模式

  1. 多次实例化和一次实例化效果一致,节省资源
class DataBases{

    static private $db;
    // 防止new
    private function __construct(){
        
    }
    private function __clone(){}
    
    static public function instance(){
        if(!self::$db){
            self::$db = new self();
        }

        return self::$db;
    }
    
}

DataBases::instance();
上一篇 下一篇

猜你喜欢

热点阅读