zoukankan      html  css  js  c++  java
  • PHP之singleInstance

     1 <?php
     2     //单例:一个类只有一个对象。
     3     //限制该类得到更多的对象,只允许产生一个对象。,一个对象就可完成所有对象的功能,目的是为了节约成本。这就是单例模式
     4     
     5     /*
     6         function func(){
     7             static $name; //局部静态变量,根据函数生命周期来进行计算,下次调用会继续存在,
     8         }
     9         
    10         class test{
    11             static $name; //属于静态类属性。 
    12         }
    13 
    14     */
    15 
    16     class MySQLDB{
    17         //声明一个静态变量存储对象
    18         private static $_instance;
    19 
    20         //声明构造为私有不让外界new对象
    21         private function __construct(){
    22 
    23         }
    24 
    25         //给定一个类方法不让让类外直接通过类名去访问
    26         public static function getInstance(){
    27 
    28             //判断对象是否被实例化
    29             if (!isset(static::$_instance)) {
    30                 //if(! (static::$_instance instanceof static)) //用 对象运输符号 instanceof做判断
    31                 //不存在对象,new一个对象并返回给私有静态变量
    32                 static::$_instance = new static;
    33             }
    34 
    35             //返回给静态变量存储
    36             return static::$_instance;
    37         }
    38 
    39         //为了防止外界的克隆 把私有魔术方法 
    40         private function __clone(){
    41 
    42         }
    43     }
    44 
    45 
    46     $dao = MySQLDB::getInstance();
    47 
    48     var_dump($dao);
    49 
    50     $dao1 = MySQLDB::getInstance();
    51 
    52     var_dump($dao1);
    53 
    54     // $dao2 = clone $dao;  //运行保存/**/
  • 相关阅读:
    新东西
    Xcode6新特性
    下载模拟器
    iOS定位和地图
    iOS,作死集锦
    ThreadLocal源码解析
    JSON Web令牌(JWT)介绍与使用
    docker已运行容器里的时区修改
    Docker图形界面管理
    ZooKeeper开机启动的俩种方式
  • 原文地址:https://www.cnblogs.com/sharecorner/p/6129296.html
Copyright © 2011-2022 走看看