Встраиваем аналитику в корпоративную CRM'ку и там есть: дашборды (веб-страницы) и виджеты на них.
Виджеты делаем как отдельные модули:
[widgets]
- [orders]
- WidgetOrders.php
- [assets]
- [products]
.....
Чтобы получить список всех доступных виджетов мидлы glob'ом собирают папки из widgets и далее получают имена классов каждого из них: \Widgets\WidgetOrders::class
Была похожая структура, где мы делали по-другому через статичный метод и массив доступных виджетов:
public static widgets(): array
{
return [
\Widgets\WidgetOrders::class,
\Widgets\WidgetProducts::class
];
}
может есть какой-нибудь ООП шаблон который позволял бы это организовать еще более изящно?
и какой метод по-вашему более предпочтителен из выше предложенных?