欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

单例模式的一个问题,static $db = null为什么只执行一次

程序员文章站 2024-01-06 14:47:52
...


为什么 结果只输出一次1111
上面的static $db = null这里不是每执行一次get()就重新对$db付值为null了吗,求解下

回复内容:



为什么 结果只输出一次1111
上面的static $db = null这里不是每执行一次get()就重新对$db付值为null了吗,求解下

因为参数是static,你在末尾对$db = new DatabaseConnection();你第二次进来的时候其实$db在第一次发生变化,所以不是null.
不信你吧static换成public,应该就会出现两次

第二次的$db没有重新赋值,只有第一次进去被初始化了,参考下文档链接描述

static变量的作用域和局部变量一样,生命周期和全局变量一样。

相关标签: php

上一篇:

下一篇: