Всем привет! На сайте есть с десяток отдельных модулей: "новости", "события", "комментарии" и т.д. И у каждого модуля, соответственно, есть свой класс, в котором он генерируется.
У каждого из них есть постраничная навигация, которая генерируется одной внешней функцией paginator();
Но для каждого нужно при подключении передавать параметры: "текущая страница", "количество на страницу" и пр.
Выходит, что у каждого класса есть одинаковые методы: setPage(), setOnPage(), getStart(), getLimit() так далее... Кроме этих еще есть одинаковые. Как с этим быть? с одной стороны можно ведь кинуть их в отдельных класс, а с другой получится ведь зависимость классов друг от друга, потому как эти методы должны будут изменить одинаковые по названию свойства в каждом из классов.
Скорее всего неправильно проектируете свое приложение. Пагинацию обычно выносят в отдельный модуль/класс. Рекомендую посмотреть популярные PHP OOP фреймворки.
Так же рекомендую почтитать: о наследовании в PHP
Ну получается, что пагинация у меня и так в отдельном модуле (функции). Но для того, чтобы получить скажем первые 20 новостей, мне нужно передать значение 20 в класс News, с помощью метода setLimit(20). Тоже самое происходит и с остальными методами... например передача текущей страницы также нужна для вывода этих первых 20 новостей. setPage(1)