问答详情
源自:3-4 自定义错误处理器

请问老师,这种写法是单例模式吗?

public static function deal($errno,$errmsg,$filename,$line,$vars){

        $self=new self($errmsg,$filename,$line,$vars);

    }


提问者:陈年矿泉水 2021-07-03 01:40

个回答

  • 慕粉3829718
    2021-09-13 15:20:45

        // 以此来存储实例化的对象
       private static $instance = null;

       // 首先,将构造方法封装私有化,禁止外部实例化对象
       private function __construct($errmsg,$filename,$line,$vars)
       {

       }

       // 静态方法,用于得到实例化的对象
       public static function deal($errno,$errmsg,$filename,$line,$vars)
       {
           // 如果已有实例化的对象,直接返回
           if(empty(self::$instance)){
               self::$instance = new self($errmsg,$filename,$line,$vars);
           }
           return self::$instance;
    }