php单例设计模式

       单例模式的主要作用是保证在面向对象的编程中,一个类只能有一个实例对象存在。

单例模式在创建目录、数据库连接中应用比较多。而php每次访问都是一次独立的过程,单例模式就更为重要。下面是一个简单的例子:

<?php 
    /**
     * 这个类用来展示单例模式
     * @author youthflies
     */
    class DB
    {
        private static $obj=null;
                   
        private function __construct()
        {
            echo "连接数据库等过程<br />";
        }
                   
        static function getInstance()
        {
            if(is_null(self::$obj))
                self::$obj=new self();
            return self::$obj;
        }
                   
        public function query($sql)
        {
            echo "执行数据库操作: " .$sql . "<br />";
        }
    }
               
    $db = DB::getInstance();
    $db -> query("select username from user where userId=1");
?>

       DB类的构造函数被声明为private,只能通过静态函数getInstance来新建对象,getInstance中新建对象时,如果检测到存在的DB对象就直接返回该对象,保证了该类最多存在一个对象。

版权声明

本站文章、图片、视频等(除转载外),均采用知识共享署名 4.0 国际许可协议(CC BY-NC-SA 4.0),转载请注明出处、非商业性使用、并且以相同协议共享。

© 空空博客,本文链接:https://www.yeetrack.com/?p=95