我需要帮助设计我需要从多个类扩展的PHP类.
我有一个普通的类,Pagination.php,可以进行各种分页和排序.所有其他类将使用它进行分页.
为了让我的生活更轻松,我创建了一个从MySQL表生成类的类生成器.所有属性,getter,setter和常用方法都是自动创建的,这样可以节省时间和金钱.
例如,Staff_Base.php中的类Staff_Base是从SQL表t_staff自动生成的.
由于类Personzzase是从SQL表自动生成的,因此任何"自定义"方法/属性都位于另一个扩展Staff_Base.php的类中.(因此,无论何时添加新字段,我都可以简单地重新生成Staff_Base类并在Staff_Base.php中覆盖).
所以我有一个扩展Staff_Base.php的类Staff.php.
问题是,Staff.php还需要扩展另一个类Pagination.php.(目前的解决方法是将Pagination.php中的方法放入每个类中.每当我对分页/排序方法进行更改时,这真的很麻烦.)
我该怎么做呢?实现这一目标的最佳设计模式是什么?
我知道重组我的课程的常见建议,但我真的很难想到其他解决方法/解决方案.另外,我可能还需要扩展除Pagination.php之外的其他类.
谢谢!
你可以让你生成的Staff_Base类继承Pagination吗?或者,Staff_Base是否已从其他基类继承(您无法控制)...
听起来像Doctrine或Propel,我不记得哪个使用*_Base类系统.
我的建议是重写分页,以便能够被实体类使用,而不是要求实体类扩展它.