PHP: Можно ли с помощью классов (интерфейсов или трейтов) сильно сократить код, который повторяется, но всегда чуть другой

Есть парсер, который скачивает с сайта множество архивов, затем, каждый обрабатывает и данные из него кладет в таблицу. Таблицы не связаны между собой, у каждого архива могут быть свои проблемы с данными, например, у одного нужно перевести из одной кодировки, у другого - из другой. Для какой-то таблицы нужно по ходу обработки добавить в таблицу какую-то отметку, в зависимости от наличия или отсутствия в заархивированной бд информации. Одним словом, приходится делать длинную вереницу функций, который очень похожи, но немного отличаются. Выглядит это так:

  1. Парсер архивов.

  2. function 1 (для закидывания в таблицу первого архива).

  3. function 2 (для закидывания в таблицу второго)

и тд. много функций

Код, к сожалению не могу привести... Если можно с помощью объектно-ориентированного программирования как-то отрефакторить это, то хотел спросить знающих, как. Мне бы только понимать принцип, так как тогда буду знать что искать... С объектно-ориентированным программированием знаком очень слабо...


Ответы (1 шт):

Автор решения: Vanya228

Можно и нужно. Вот ознакомьтесь с данными статьями, тут как раз описывается ваша проблема в пункте: Уберите дублирующий код

И можно почитать еще тут

→ Ссылка