1

我有一个名为LClass. 然后我创建其他类,扩展LClass. 例如,这是数据库中表的类。( user, order, 等等...) 在每个类中我都使用 some static function getRecordById($id),它返回一些数组。这些函数之间的区别,它们使用不同的表名来执行。我想把这个放进static function getRecordById($id)LClass。问题是,该函数是静态的,为此我需要在执行类似$someUser = user::getRecordById($id).
或者有什么其他建议?

4

2 回答 2

3

使用静态方法进行编程不是面向对象的编程,而是“面向类”的编程。它本质上与带有少量命名空间的过程代码相同。静态方法有它们的用途,但它是有限的。静态方法永远不应该做一个类的主要工作。

阅读如何不使用静力学破坏您的可测试性

于 2012-12-05T10:59:14.983 回答
0

避免使用静态方法。就如此容易。

关于您对原始问题的评论,请考虑以下代码示例:

$user = new User($id);
于 2012-12-05T10:56:00.067 回答