PHP是我的第一门编程语言。我不能完全确定何时使用静态类与实例化对象。
我意识到您可以复制和克隆对象。但是在我使用php的所有时间里,任何对象或函数总是以单个返回值(数组,字符串,整型)值或void结束。
我了解书籍中的概念,例如电子游戏角色类。 复制汽车对象并将新的红色对象设为红色 ,这一切都说得通,但它不是在php和网络应用程序中的应用程序。
一个简单的例子。一个博客。博客的哪些对象最好实现为静态或实例化对象?DB班?为什么不只在全局范围内实例化db对象?为什么不将每个对象都设为静态呢?性能如何?
都是风格吗?有适当的方法来做这些东西吗?
这是一个非常有趣的问题-答案也可能变得有趣^^
考虑事物的最简单方法可能是:
(是的,我承认,真的太过简化了…)
关于静态方法/类的一件事是它们不便于单元测试(至少在PHP中,但在其他语言中也是如此)。
关于静态数据的另一件事是程序中仅存在一个实例:如果将MyClass :: $ myData设置为某个位置的某个值,它将在所有位置都具有该值- 谈到用户,您将只能拥有一个用户-那不是很好,不是吗?
对于博客系统,我能说什么?实际上,我认为我不会写成静态的。也许是数据库访问类,但最后可能不是