不应该用public static function来改善系统的抽象层次
这篇讲的是PHP开发中一个常见的抽象误区。作者观察到,很多团队为了复用代码和分层,会抽出所谓的Service层,但实现上却大量使用public static function。作者直言这种做法很糟糕——因为public static function本质上就是全局函数,而滥用全局函数是编程中的反模式。 文章的核心观点是,虽然抽象Service层本身没错,但用静态方法来实现,往往导致“抽象能力停留在函数级别”。作者用了一个生动的比喻:这就像破窗户理论,一旦有人开了滥用全局函数的头,代码就会迅速腐化,最终整个系统充斥着相互调用的全局函数,变得难以维护。他强调,全局函数和全局变量是需要极力避免的,而不是被当作抽象的工具去增加。 作者最终呼吁,要实现真正的分层抽象,不应依赖public static function,而应采用更合理的架构设计,来约束依赖和作用域,从而避免系统在团队协作中走向失控。