gpt4 book ai didi

PHP 5 : const vs static

转载 作者:IT老高 更新时间:2023-10-28 11:42:47 24 4
gpt4 key购买 nike

在 PHP 5 中,使用 conststatic 有什么区别?

什么时候合适? publicprotectedprivate 扮演什么角色 - 如果有的话?

最佳答案

在类的上下文中,静态变量位于类范围(而不是对象)范围内,但与 const 不同的是,它们的值可以更改。

class ClassName {
static $my_var = 10; /* defaults to public unless otherwise specified */
const MY_CONST = 5;
}
echo ClassName::$my_var; // returns 10
echo ClassName::MY_CONST; // returns 5
ClassName::$my_var = 20; // now equals 20
ClassName::MY_CONST = 20; // error! won't work.

public、protected 和 private 与 const 无关(它们始终是公共(public)的);它们只对类变量有用,包括静态变量。

  • 可以通过 ClassName::$variable 在任何地方访问公共(public)静态变量。
  • 定义类或扩展类可以通过 ClassName::$variable 访问 protected 静态变量。
  • 私有(private)静态变量只能由定义类通过 ClassName::$variable 访问。

编辑:重要的是要注意 PHP 7.1.0 introduced support for specifying the visibility of class constants .

关于PHP 5 : const vs static,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1685922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com