我想在PHP中创建一个静态类,并使其行为像在C#中一样,所以
- 构造函数在第一次调用该类时自动被调用
- 无需实例化
这种东西...
static class Hello {
private static $greeting = 'Hello';
private __construct() {
$greeting .= ' There!';
}
public static greet(){
echo $greeting;
}
}
Hello::greet(); // Hello There!
您能否简要解释一下静态类的行为?它是实用程序的实现吗?
—
xtofl,2009年
只是抛出我自己的观点,但是从我在PHP方面的经验来看,出于理智,可测试性和可伸缩性的考虑,静态类应该几乎完全是无状态的,与面向对象的api相比,它提供了更具功能性的类似于编程的api,通常最好用作完全实例化的对象的可访问性外观,或者用作辅助程序或类似结构的实用程序包装,即使它们甚至都被使用过。
—
mopsyd