当前位置: 首页 > news >正文

【PHP的static】

关于静态属性

    • 最简单直接:
    • 静态方法也是一样

看了很多关于静态和动态的说法,无非是从 调用方式类访问实例变量访问静态变量需不要实例化这几个方向,太空了。问使用场景,好一点的 能说个用来做单例。逆天的还有说什么字符串作用,语义明确,修改方便,那我直接写个常量不行吗?这种属于是自己也没完全理解静态的含义,就教教教

最简单直接:

<?phpclass demo
{static protected  $array = [];public function __construct(){self::$array[] = spl_object_id($this);}public function getArray(): array{return self::$array;}
}
$demo1 = new demo();
$demo2 = new demo();
$demo3 = new demo();
$demo4 = new demo();
$demo5 = new demo();
print_r($demo1->getArray());
print_r($demo2->getArray());
print_r($demo3->getArray());
print_r($demo4->getArray());
print_r($demo5->getArray());

结果:

Array
([0] => 1[1] => 2[2] => 3[3] => 4[4] => 5
)
Array
([0] => 1[1] => 2[2] => 3[3] => 4[4] => 5
)
Array
([0] => 1[1] => 2[2] => 3[3] => 4[4] => 5
)
Array
([0] => 1[1] => 2[2] => 3[3] => 4[4] => 5
)
Array
([0] => 1[1] => 2[2] => 3[3] => 4[4] => 5
)

你会发现,他们各自的实例化,调用的$array是共享的,所以你可以理解为什么做单例可以使用静态属性。
因为静态变量在 PHP 中是属于类本身的,而不是某个具体的对象实例,且一声明就被存储在栈中,是全局的。它们在内存中只存储一份,所有对象共享同一个静态属性。静态属性的生命周期与类相同,只要类被加载到内存中,静态属性就会存在,直到程序结束或类被卸载。

静态方法也是一样

http://www.lryc.cn/news/535825.html

相关文章:

  • 考研操作系统----操作系统的概念定义功能和目标(仅仅作为王道哔站课程讲义作用)
  • 从360度全景照片到高质量3D场景:介绍SC-Omnigs 3D重建系统
  • 前沿技术新趋势:值得关注的创新发展
  • 算法跟练第十一弹——二叉树
  • 机器学习(李宏毅)——BERT
  • 新数据结构(7)——Object
  • 云计算基础
  • 利用kali linux 进行自动化渗透测试
  • 【Vue中BUG解决】npm error path git
  • GPT-4o微调SFT及强化学习DPO数据集构建
  • element-plus 解决el-dialog背后的页面滚动问题,及其内容有下拉框出现错位问题
  • MT6835 21位 磁编码器 SPI 平台无关通用驱动框架 STM32
  • vue REF 和 Reactive区别、特点、优势
  • Elastic Cloud Serverless 现已在 Microsoft Azure 上提供技术预览版
  • Spring Boot + MyBatis Field ‘xxx‘ doesn‘t have a default value 问题排查与解决
  • kafka的架构和工作原理
  • 游戏引擎学习第100天
  • 机器学习:朴素贝叶斯分类器
  • 打开Visual Studio Code的时候发现未检测到适用于linux的windows子系统,那么该问题要如何解决?
  • 力扣24题——两两交换链表中节点
  • android launcher拖动图标释放错位
  • window ssh免密码输入
  • 2024年博客之星年度评选—主题文章创作评审文章得分公布
  • vscode插件Remote - SSH使用教程
  • 自学人工智能大模型,满足7B模型的训练和微调以及推理,预算3万,如何选购电脑
  • github不翻墙就可以访问
  • 十大知识领域中涉及到的工具与技术(三)
  • 在nodejs中使用RabbitMQ(三)Routing、Topics、Headers
  • 设计模式全解(含代码实例)
  • springboot019-爬虫基于网页开发和数据抓取技术的在线新闻聚合平台的设计与实现