Если вы ищете причины, по которым статические методы плохи, первое, что вы обнаружите, это то, что вы не можете переопределить их при модульном тестировании.
Верно ли это, учитывая, что в PHP 5.3 вы можете делать все, что хотите, с введением static ::
?
http://sebastian-bergmann.de/archives /883-Stubbing-and-Mocking-Static-Methods.html
Обратите внимание, что он объясняет даже, как использовать синглтон без каких-либо проблем с тестированием: