【发布时间】:2010-10-02 21:21:22
【问题描述】:
我想在 PHP 中创建一个静态类并让它像在 C# 中一样运行,所以
- 第一次调用类时会自动调用构造函数
- 无需实例化
这种东西……
static class Hello {
private static $greeting = 'Hello';
private __construct() {
$greeting .= ' There!';
}
public static greet(){
echo $greeting;
}
}
Hello::greet(); // Hello There!
【问题讨论】:
-
您能简要解释一下静态类的行为吗?它是实用程序的实现吗?
-
只是发表我自己的观点,但根据我在 PHP 方面的经验,出于理智、可测试性和可扩展性的考虑,静态类应该几乎完全是无状态的,提供比功能更类似于编程的 API一个面向对象的,通常最好用作完全实例化对象的可访问性外观或帮助程序或类似构造的实用程序包装器,如果它们甚至被使用的话。
标签: php design-patterns oop static