Модульное проектирование

apt-get_mebeer

Новичок
Всем привет! После изучения темы модульного пограммирования хотелось бы получить некий совет в проектировании....
Суть такая, есть пару модулей:
PrintServer - Модуль который печатает пдф файлы (или отправляет сформированный файл по email)
Точка входа в данный модуль одна... PrintServer->build($invoiceId, $email) - То есть если передан email то сформированный пдф файл будет отправлен на указанную почту. Если $email не указан то пдф формируется в общем потоке и его можно скачать.
Encryption - Модуль реализует шифрование переданных данных на выходе hex. Тут тоже минимум интерфейса, crypt($param, $depth) ну и decrypt($param). В целом данный модуль будет использоваться при передачи параметров в PrintServer модуль.
TaskManager - Модуль реализует слой работы с RabbitMQ. Нужен этот модуль что бы складывать в СТЭК задачи по формированию ПДФ (собственно эти задачи будут отправляться в PrintSever модуль).

PartnerPanel - Модуль личного кабинета.... Сюда я захожу.... ищу нудный INVOICE и жмякаю на кнопку напечатать , эта задача шифруется модулем Encryption и в зашифрованном виде отправляется в TaskManager модуль. Затем последний отправляет задачу на реализацию в PrintServer и закрывает задачу.

Надеюсь тут все понятно...
Ну так вот.... Проблема в том что я не могу понять как связывать эти модули? Вот какие мысли были...

Создать Один большой пакет для composer назвать его к примеру printer и уже в нем создать папки со всеми модулями (как это делает к примеру symfony2 с vendors). Затем взять этот пакет заинсталить в какой либо АПИ и уже в этой самой АПИ подтягивать нужные модули и работать? Да все же хотелось бы что бы поверх этих самых модулей было некое АПИ на том же самом yii2 || slim

Вот хоть убейте не могу уже третий день понять как все можно развернуть это... Поделитесь прошу кто нить....

Заранее спасибо!
 

Adelf

Administrator
Команда форума
Все это легко реализуется обычными классами. тут задача не такая великая, чтобы на модули делить.

P.S. А почему задачи по формированию pdf складываются в стек а не в очередь? :)
 

apt-get_mebeer

Новичок
Все это легко реализуется обычными классами. тут задача не такая великая, чтобы на модули делить.

P.S. А почему задачи по формированию pdf складываются в стек а не в очередь? :)
Пардон, очередь

Почему модулями... просто оценил сейчас старый код к примеру участка когда который отвечает за печать ПДФ файлов... То там например одним класом не обойтись... Я скорее не правильно написал, не то что бы PrintServer отправляет на скачивание пдф или по email, а он формирует очень сложные структуры... разные инвойсы, разные акты... как то так.
 

Adelf

Administrator
Команда форума
пространства имен есть в PHP
папки есть в файловой системе.

Не... если очень хочется, то можно заморочиться микросервисами. Но это пожалуй будет черезчур :)

Ну и если хочешь - глянь вот эту тему - http://phpclub.ru/talk/threads/Деление-на-модули-в-php.80778/
Спрашивал подобное недавно.
 
Сверху