【发布时间】:2010-09-29 23:30:52
【问题描述】:
在设计需要从多个类扩展的 PHP 类时,我需要帮助。
我有一个通用类 Pagination.php,它执行各种分页和排序。所有其他类都将使用它进行分页。
为了让我的生活更轻松,我制作了一个从 MySQL 表生成类的类生成器。所有属性、getter、setter 和常用方法都是自动创建的,真正节省了时间和金钱。
例如,Staff_Base.php 中的 Staff_Base 类是从 SQL 表 t_staff 自动生成的。
由于Staff_Base 类是从SQL 表中自动生成的,因此任何“自定义”方法/属性都位于另一个扩展Staff_Base.php 的类中。 (这样每当添加一个新字段时,我就可以简单地重新生成 Staff_Base 类并在 Staff_Base.php 中覆盖)。
所以我有扩展 Staff_Base.php 的类 Staff.php。
问题是,Staff.php 还需要扩展另一个类 Pagination.php。 (目前的解决方法是将 Pagination.php 中的方法放入每个类中。每当我更改分页/排序方法时,这真的很麻烦。)
我该怎么做? 实现这一目标的最佳设计模式是什么?
我知道重组课程的常见建议,但我真的很想其他解决方法/解决方案。另外,我可能还需要扩展 Pagination.php 以外的其他类。
谢谢!
【问题讨论】:
-
员工“是分页”?听起来更像是应该简单地使用 Pagination 对象而不是扩展它。