博客列表 >23种设计模式之单例模式

23种设计模式之单例模式

潜轲的博客
潜轲的博客原创
2017年08月19日 21:15:43793浏览

<?php

//单例模式:即建立一个模板(类),在实例化对象后不管实例化几次都只是一个对象,不会再创建新的对象,这样大大提高了PHP程序的性能。三私一公的模式,即对外提供一个接口,判断是否已实例化

class Cat

{

        public $name;

        //创建一个私有的静态属性判断是否已实例化

        private static $instance =0;

        //一个私有的构造函数,避免在外面可以使用构造函数实例化对象

        private function __CONSTRUCT($name)

        {

            $this->name = $name;

        }

        //一个私有的克隆函数,避免被克隆

        private function __clone(){}

        //一个公有的函数接口

        public static function getSingleton()

        {

            //判断这个对象是否实例化及是否是这个类的

            if(!self::instance  instance of self)

            {

                    self::instance = new Cat($name);

            }

            //返回这个对象

            return self::instance;

        }

}

//在类外通过调用公有函数创建对象

$cat = Cat::getSingleton('TOM');

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议