【发布时间】:2011-03-19 18:35:18
【问题描述】:
我有一个带有一些静态函数的辅助类。类中的所有函数都需要一个“繁重”的初始化函数才能运行一次(就好像它是一个构造函数一样)。
是否有实现此目的的良好做法?
我唯一想到的就是调用init 函数,如果它已经运行过一次就中断它的流程(使用静态$initialized var)。问题是我需要在每个类的函数上调用它。
【问题讨论】:
-
正在讨论的是Static Class Constructor RFC,它将提供一种替代方法。
-
未来读者:Here are code details and a discussion of the approach user258626 said he was thinking of doing。请将其与接受的答案进行比较。决定你想要哪个。或做 other 答案之一;我建议您不要盲目采用已接受的答案。要点:作为一般原则,最好在编写类时支付一次编码费用,以使调用者更简单。
-
我希望我们可以重构 SO,将接受的答案放入一个新问题“PHP 中的单例模式是什么样的?” (这是一个很好的答案)并使 user258626 的答案(或类似的答案)成为该问题的公认答案。
标签: php class static constructor initializer