php的单例模式

来源:互联网 发布:php.ini文件下载 编辑:程序博客网 时间:2024/05/20 17:38


       前言:

             直入主题,为什么有php的单例模式?它存在有什么意义?

             原因:

                  php作为一门解释性的脚本语言,每次运行以后资源就被系统收回。没有办法让某个对象常驻在内存中,比如数据库连接这种重复性比较高的操作.如果每次都去实例化,那么则会造成大量的内存资源和系统资源的浪费。

               所以,就有单例模式来解决这个问题。

               单例模式的核心就是 "三私一公"


                   三私----->私有的唯一静态成员变量$_instance,

                                    私有构造方法,

                                    私有的克隆方法

                   一公------>一个访问实例的公开静态方法

                    下面是代码.               

<?phpclass DemoClass{    /*     * 唯一的私有静态成员访问变量     */    private static $_instance=NULL;    /*     * 私有的构造方法,防止外部实例化     */    private function __construct()    {}    /*     * 提供一个访问这个实例的公共静态方法,从而返回实例的一个引用     */    public static function getInstance()    {     if(is_null(self::$_instance))     {         self::$_instance=new DemoClass();     }     return self::$_instance;    }    /*     * 防止用户克隆实例     */    private function __clone()    {}    public function testInformation()    {        echo "i am test information";    }}$demo=DemoClass::getInstance();$demo->testInformation();