php static的三种使用方法
2026-01-21 13:39 来源:西西软件网 作者:佚名
在 PHP 中,static 关键字有多种用途,主要涉及类的结构和变量作用域。它并不只是“静态方法”这么简单。以下是 static 的三种常见使用方式,每种都有其特定场景和行为特点。
1. 静态属性(Static Properties)
静态属性属于类本身,而不是类的某个实例。这意味着所有该类的对象共享同一个静态属性值。
通过 self:: 或 类名:: 访问静态属性,不能用 $this->。
- 用于存储类级别的数据,比如对象计数、配置信息等。
- 即使没有创建对象实例,也可以访问静态属性。
示例:
立即学习“PHP免费学习笔记(深入)”;
class Counter {
public static $count = 0;
public function __construct() {
self::$count++;
}
}
echo Counter::$count; // 输出: 0
new Counter();
new Counter();
echo Counter::$count; // 输出: 2
2. 静态方法(Static Methods)
静态方法可以直接通过类名调用,无需实例化对象。它们通常用于工具函数或工厂方法。
静态方法内部只能访问静态属性和其他静态方法,不能使用 $this。
- 适合封装不依赖对象状态的功能。
- 可被继承,但不能被覆盖(除非重新定义)。
示例:
立即学习“PHP免费学习笔记(深入)”;
class MathUtils {
public static function add($a, $b) {
return $a + $b;
}
}
echo MathUtils::add(3, 5); // 输出: 8
3. 静态变量(Static Variables) in Functions
这个用法出现在函数内部,不是类相关。static 变量在函数执行结束后不会销毁,下次调用时保留上次的值。
这种特性常用于缓存结果或记录调用次数。
- 只初始化一次,后续调用沿用已有值。
- 作用域仍局限在函数内,外部无法访问。
示例:
立即学习“PHP免费学习笔记(深入)”;
function sayHello() {
static $called = 0;
$called++;
echo "Hello called $called times.\n";
}
sayHello(); // 输出: Hello called 1 times.
sayHello(); // 输出: Hello called 2 times.
sayHello(); // 输出: Hello called 3 times.
基本上就这些。理解这三种 static 的使用方式,能帮助你在不同场景下更合理地组织代码逻辑。虽然写法相似,但语义和作用完全不同,注意区分上下文。不复杂但容易忽略细节。
以上是php static的三种使用方法的内容了,文章的版权归原作者所有,如有侵犯您的权利,请及时联系本站删除,更多相关phpstatic的资讯,请关注收藏西西下载站。
下一篇:3通关攻略-《蔚蓝档案》第二十三章困难23