首页 > Web开发 > 详细

PHP经典设计模式--单例模式 pfinal

时间:2018-06-04 12:40:26      阅读:202      评论:0      收藏:0      [点我收藏+]
<?php
    class Mysql{
        //该属性用来保存实例
        private static $conn;
        //构造函数为private,防止创建对象
        private function __construct(){
            $this->conn = mysqli_connect(‘localhost‘,‘root‘,‘‘);
        }
        //创建一个用来实例化对象的方法,如果不存在一个这个类的实例属性,就创建一个,否则就取这个实例属性。
        public static function getInstance(){
            if(!(self::$conn instanceof self)){
                self::$conn = new self;
            }
            return self::$conn;
        }
        //防止对象被复制
        public function __clone(){
            trigger_error(‘Clone is not allowed !‘);
        }
        //防止反序列化后创建对象
        private function __wakeup(){
            trigger_error(‘Unserialized is not allowed !‘);
        }
    }
    //只能这样取得实例,不能new 和 clone
    $mysql = Mysql::getInstance();
?>
单例一般就是像这样用一个静态方法取得。

 

PHP经典设计模式--单例模式 pfinal

原文:https://www.cnblogs.com/shaoing/p/9132624.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!