Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Всем привет. На тостере тоже задавал подобный вопрос, но что-то тишина там, может кто тут подскажет.
Хотя я, вроде, и решил делать именно так, как описал, но все же мнения интересны.
На сайте есть возможность заказа разных услуг, например:
Доступ к сайту
Веб-хостинг
СМС-шлюз
Что-то еще
У каждой услуги должен быть свой обработчик, так как услуги разные, соответственно с разными API по разным принципам работают. Но методы одинаковые у них:
create(), delete(), block(), unblock().
Хочу сделать общую таблицу с заказами, где будет ID заказа, тип заказа, срок заказа, статус заказа.
А для разных услуг разные таблицы. Например, доступ к сайту - таблица custon_sites, веб-хостинг - custom_webhostings и т.д..
У услуг таблица custom_ и подставляется тип услуги из таблицы с заказами.
Так делать правильно?
Получается, что для добавления услуги нужно:
создать миграцию с таблицей custom_TYPE
создать обработчик для этого типа услуги
Но чтобы можно было этот тип услуги добавлять к продаже, надо ведь сделать возможность его выбора при добавлении. Каким образом в laravel это можно упростить? Может в контроллере услуг сделать парсинг каталога с классами услуг, в каждом классе услуг добавить статический метод, который будет выводить имя услуги, чтобы было визуально понятно какая услуга добавляется на "витрину".
А в базе тогда что хранить, чтобы скрипт знал к какому классу-обработчику обращаться при заказе услуги? Хранить название класса и обращаться напрямую \App\Components\Handlers\Handler?
А хранить в таблице с заказами тип Handler? \App\Components\Handlers\ - этот путь будет статичным.