Мне нужна помощь в разработке моих классов PHP, где мне нужно расширяться из нескольких классов.
У меня есть общий класс, Pagination.php, который выполняет все виды разбиения на страницы и сортировки. Все остальные классы будут использовать это для нумерации страниц.
Чтобы сделать мою жизнь проще, я создал генератор классов, который генерирует класс из таблицы MySQL. Все свойства, методы получения, установки и общие методы создаются автоматически, что действительно экономит время и деньги.
Например, класс Staff_Base в Staff_Base.php генерируется автоматически из таблицы SQL t_staff.
Поскольку класс Staff_Base автоматически генерируется из таблицы SQL, любые «пользовательские» методы / свойства находятся в другом классе, который расширяет Staff_Base.php. (Чтобы при каждом добавлении нового поля я мог просто перегенерировать класс Staff_Base и перезаписать в Staff_Base.php).
Итак, у меня есть класс Staff.php, который расширяет Staff_Base.php.
Проблема в том, что Staff.php также необходимо расширить другой класс, Pagination.php.
(В настоящее время обходной путь заключается в размещении методов в Pagination.php в каждом классе. Это действительно проблематично, когда я вносю изменения в методы разбивки на страницы / сортировки.)
Как мне это сделать?
Каков наилучший шаблон дизайна для достижения этой цели?
Я знаю общие предложения по реструктуризации моих классов, но я действительно думаю о другом обходном пути / решении. Также мне может понадобиться расширить другие классы, кроме Pagination.php.
Спасибо!