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;  //运行保存/**/
  • 相关阅读:
    『转』QueryPerformanceFrequency()
    『转』C++中虚析构函数的作用
    存储过程的优缺点
    一个工作7年的软件工程师的总结(收藏)
    存储过程分页算法(收藏)
    Ajax原理(收藏)
    七大秘籍成就职场王者(收藏)
    视图的优缺点
    SQL索引全攻略
    .aspx、MasterPage、.ascx加载顺序
  • 原文地址:https://www.cnblogs.com/sharecorner/p/6129296.html
Copyright © 2011-2022 走看看