我有一个名为LClass
的超级课程。然后我创建了其他类,扩展了LClass
。
例如,这是数据库中表的类。 (user
,order
等...)
在每个类中,我使用一些static function getRecordById($id)
,它返回一些数组。这些函数之间的区别在于它们使用不同的表名来执行。我想将此static function getRecordById($id)
放在LClass
中。问题是,该函数是静态的,为此我需要在执行类似$someUser = user::getRecordById($id)
之前设置一些静态变量。
或者其他任何建议?
答案 0 :(得分:3)
使用静态方法编程 不是面向对象的编程,它是“面向类”的编程。它与带有一小部分命名空间的过程代码基本相同。静态方法有其用途,但它是有限的。静态方法永远不应该完成类的主要工作。
答案 1 :(得分:0)
避免使用静态方法。就这么简单。
关于您对原始问题的评论,请考虑以下代码示例:
$user = new User($id);