Php ORM类已经扩展了DB类,您需要它从抽象类扩展而来

Php ORM类已经扩展了DB类,您需要它从抽象类扩展而来,php,oop,orm,Php,Oop,Orm,我的问题与PHP有关,但它可能与使用对象关系映射器的任何其他语言有关 假设我有一个扩展DbObject的类事件和一个扩展DbObject的异常,但我希望它们都从抽象类时间段扩展。两个对象都是ORM对象 为什么??因为我不想对具有开始和结束日期的每种类型的类手动编写getStartTimeStamp() 现在我正在使用接口,但我觉得这真的很伤脑筋 我是否简单地重新设计它,使抽象类时间周期扩展Dbobject,并实现每个对象从中扩展?或者有更好的解决方案吗?您面临的多重继承问题的一般解决方案是聚合/

我的问题与PHP有关,但它可能与使用对象关系映射器的任何其他语言有关

假设我有一个扩展DbObject的类事件和一个扩展DbObject的异常,但我希望它们都从抽象类时间段扩展。两个对象都是ORM对象

为什么??因为我不想对具有开始和结束日期的每种类型的类手动编写getStartTimeStamp()

现在我正在使用接口,但我觉得这真的很伤脑筋


我是否简单地重新设计它,使抽象类时间周期扩展Dbobject,并实现每个对象从中扩展?或者有更好的解决方案吗?

您面临的多重继承问题的一般解决方案是聚合/组合

这也让你的设计更清晰。异常毕竟不能是一个时间段

所以,您需要创建一个TimePeriod类,并将该类的对象传递给Exception和Event。 然后,您可以直接对time period对象调用getStartTimeStamp(),如下所示:

$event->getTimePeriod()->getStartTimeStamp();

或者创建包装方法并调用它们。

为什么一个异常类会扩展一个dbobject类?B/c它生成的ORM对象,它可以运行查询。哪个ORM?
getStartTimeStamp()
会做什么?