PHP单例模式

单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

为什么使用单例模式呢
使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。

**单例模式特点(三私一公)
私有的构造方法 (防止类外实例化)
私有的克隆方法 (防止通过克隆生成对象)
私有的静态属性 (保存类的实例)
公有的静态方法 (调取这个类相当一个接口 )**

<?php
/*
     *describe:单例模式
    */

    header("content-type:text/html;charset=utf-8");
    //final 修饰类  不可被继承  最终的类
    final class Single{
        //$self 静态私有变量 实例化后赋值
        static private $self = NULL;

        private $num = 0;  

        private function __construct(){
            $this->num += 1;
            echo "实例化成功<br/>";
        }
        //防止被克隆
        private function __clone(){
            die("实例化失败");
        }

        //静态公有接口
        static public function getInstanceof(){
            //判断对象是否已实例化
            if(!self::$self instanceof self){
                self::$self = new self();
                return self::$self;
            }else{
                return self::$self;
            }
        }
        public function getnum(){
            return $this->num."<hr/>";
        }
    }
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值