美文网首页
静态及单例-PHP

静态及单例-PHP

作者: 与子笑 | 来源:发表于2020-08-21 16:51 被阅读0次
only a flower

静态变量

当你声明一个普通局部变量,在函数中调用时会在内存中申请一块空间,函数结束后,返回一个值,空间被清除。

而当你申明一个静态变量时,将这个变量在函数中运算改变以后,这个静态变量不会从内存中消失,保留的值是进行运算改变后的值。静态变量应用范围比较广,可以避免多次链接。

下面有一个 thinkphp3.2 版本的内置函数:

public function C($k,$v){
    static $cfg = array();
    $cfg[$k] = $v;
    return $cfg;
}

静态属性,静态方法

不依赖于对象即可调用某个类里面的属性或方法,
这个类里面的属性和方法前加 static。

反正我是没用过其他的,其中一个单例模式 还是有用到。传说中可以用作接口,还有说直接调用类里面的方法和属性,比实例化一个后再调用速度更快的,在我看来这种速度比较一文不值。

单例模式的意义在于控制对象只能被实例化一次,并且是被自身 new,防止外部 new。

class Link{    
    protected static $link = null;
    protected function __construct(){ //被自身调用的时候会触发 
         $this->link = mysql_connect('localhost','root','');    
    }    
    private fucntion __clone(){    }    //外部克隆自动触发这个方法,这个方法是私有,会报错。
    public static function getlink(){   //没有链接资源就 new 自身创建一个资源,已经有的话直接返回。
            if($link==null){
                self :: link = new self();
    }        
    return self::link;    
    }
}

这里用到了静态方法和静态变量,静态方法不用再被 new 了,直接调用 Link::getlink() ,就会返回一个链接资源,保存起来返回的值就可以直接使用了。

原文链接:静态及单例-PHP

相关文章

  • 静态及单例-PHP

    php -2016-07-01 04:01:05 静态变量,静态属性,静态方法。 静态变量:当你声明一个普通局部变...

  • 静态及单例-PHP

    静态变量 当你声明一个普通局部变量,在函数中调用时会在内存中申请一块空间,函数结束后,返回一个值,空间被清除。 而...

  • 链家-开发商端-面试题

    php php常用的数组及用法 php魔术函数 php私有成员变量 列举常用的打印函数及区别 实现一个单例模式 调...

  • 【设计模式】单例模式

    单例模式 常用单例模式: 懒汉单例模式: 静态内部类单例模式: Android Application 中使用单例模式:

  • Android - 常见内存泄漏

    单例 单例静态对象持有activity引用,且因静态对象生命周期比activity还长,当act被销毁时,单例中的...

  • 常用的设计模式

    单例模式:Singleton 单例:静态变量,私有构造器,静态方法 分类: 懒汉单例 :在第一次调用的时候实例化自...

  • 实现单例类

    注意静态方法不能调用对象属性 所以要把单例存在静态变量中 更高效的单例

  • 静态方法、单例模式区别

    观点一:(单例) 单例模式比静态方法有很多优势:首先,单例可以继承类,实现接口,而静态类不能(可以集成类,但不能集...

  • 反射破坏单例模式(静态内部类)

    java反射,破坏单例模式 静态内部类 反射实例化单例

  • 单例模式

    饿汉模式: 懒汉模式: Double CheckLock(DCL)实现单例 静态内部类实现单例 枚举单例 使用容器...

网友评论

      本文标题:静态及单例-PHP

      本文链接:https://www.haomeiwen.com/subject/cifsjktx.html