diff --git a/Базовые-классы.md b/Базовые-классы.md new file mode 100644 index 0000000..53fe4f7 --- /dev/null +++ b/Базовые-классы.md @@ -0,0 +1,103 @@ +##Builders + +Данные класы определяют как формируются данные для основных операций, таких как выгрузка заказов и клиентов в CRM, выгрузка справочников, генерация ICML выгрузки. + +#####CategoriesBuilder + +Инициирует выполнение sql запроса, получающего данные о категориях товаров магазина и передает их на обработку соответствующему handler'у + +#####OffersBuilder + +Инициирует выполнение sql запроса, получающего данные о товарах магазина и передает их на обработку соответствующему handler'у + +#####ReferencesBuilder + +Инициирует выполнение sql запросов, получающих данные о справочниках и передает их на обработку соответствующему handler'у + +#####OrdersBuilder + +Инициирует выполнение sql запроса, получающего данные о заказах и передает их на обработку соответствующему handler'у + +#####CustomersBuilder + +Инициирует выполнение sql запроса, получающего данные о клиентах и передает их на обработку соответствующему handler'у + +#####HistoryBuilder + +Инициирует вызов handler'а, получающего данные по истории изменений по заказам в CRM + +##Components + +#####Builder + +Родительский класс для прочих Builder'ов, в него транслируются вызовы на обработку собранных из БД данных + +#####Command + +Класс реализующий обработку входных параметров и последовательный вызов необходимых методов для выполнения необходимой "команды" + +#####Container + +Синглтон, инициализирующий объект "настроек", соединение с БД и т.д. + +#####Logger + +Класс реализующий логгирование, ротацию логов и отправку уведомлений об ощибках на указанную почту + +#####Mail + +Аналог Builder для обработки почты + +#####RequestProxy + +Прокси класс позволяющий вызывать методы ApiClient без необходимости оборачивать каждый в блок try/catch + +#####Rule + +Класс предоставляющий методы возвращающие содержимое sql файлов, файлов критерия поиска писем или инициализирующие классы обработчики + +##Helpers + +Служебные классы помогающие в обработке и формировании структур данных + +#####ApiHelper + +Класс обертка для ApiClient, реализующий логику обращений к API, проверку полученных данных и подготовку отправляемых данных + +#####CommandHelper + +Класс реализующий вывод уведомлений и справочной информации + +#####DataHelper + +Класс реализующий вспомогательные методы для обработки формируемых и получаемых данных (фильтрация пустых значений, разбивка Ф.И.О на отдельные поля и пр.) + +#####IcmlHelper + +Класс реализующий генерацию файла выгрузки каталога + +## Interfaces + +#####HandlerInterface + +Интерфейс который должны имплементировать все классы обработчики + +##Vendor + +Дополнительные классы, не зависящие от остальных компонентов проекта. + +#####AmoCrm + +API-клиент AmoCRM + +#####Fetch + +Обертка над php-imap, позволяющая упростить поиск, получение и обработку писем + +#####MoySklad + +API-клиент "МойСклад" + +#####RetaiCrm + +API-клиент RetailCRM \ No newline at end of file