Какие использовать классы

TckJey

Новичок
Здравствуйте, есть простая система написанная в процедурном стиле, на вход подаются два файла со счетами разных типов , остатками на счетах и датами. php скрипт их парсит и вставляет в бд. Хочу перевести всё это на ООП, понимаю что нужен класс account и от него наследники, которые будут расширять базовый класс по типу счета, а какие ещё нужны классы и как будут взаимодействовать, подскажите?
 

TckJey

Новичок
что бы в дальнейшем расширять код, непереписывая его, например, файлики станут приходить не текстовые, а в dbf формате или ещё каком нибудь или типы счетов изменятся, и уже в бд нужно будет вставлять их по другой логике.
 

TckJey

Новичок
писал бы ещё функции для каждого типа входных файлов, для типов счетов различные условия ставил if,switch
 

AmdY

Пью пиво
Команда форума
TckJey
ну так тебе и классы не помогут.
$function = "parser_" . $extention;
$function(); - простая фабрика в процедурном стиле
 

TckJey

Новичок
можно подробней, зачем фабрика ,я же могу массив объектов использовать? Наверное, стоит ещё сказать что я только изучаю ООП и не силен как его на практике применить, и так же эта задача может служить для меня учебным примером, т.е вопрос зачем тебе ООП, когда есть функции, отпадает
 

AmdY

Пью пиво
Команда форума
что бы в дальнейшем расширять код, непереписывая его, например, файлики станут приходить не текстовые, а в dbf формате или ещё каком нибудь или типы счетов изменятся, и уже в бд нужно будет вставлять их по другой логике.
Вот как это выглядит при процедурном подходе. но с использованием ООП. никакое слово class на не нужно чтобы писать ООП код, классы просто добавляют удобства работы.
PHP:
function get_bills() {} // возвращает список счетов $bill
   function process_bill($bill) {}
       function parse_bill($bill) {} // возвращает массив распаршенных данных из текущего счёта
           function parse_bill_odt() {} // применяем фабрику для выбора типа парсера по типу файла
           function parse_bill_pdf() {}  // на выходе получаем массив распарщенных данных о счёте
       function save_bill($billData) {} // сохраняем данные
           function save_bill_type1($billData) {} опять фабрика по типу нужной стратегии сохранения.
           function save_bill_type2($billData) {}
 
Сверху