Я создаю несколько серверных систем с помощью Laravel, которые имеют схожую функциональность и структуру базы данных. Системы предназначены для разных целей и клиентов, но у них есть пересекающиеся функции, такие как аутентификация, общие таблицы базы данных и общая бизнес-логика. Сейчас я обсуждаю два подхода:
Вариант 1: Одно большое монолитное приложение Laravel
Одно Laravel приложение, в котором реализованы все функциональные возможности.
Используйте мультитенантность для разделения данных для разных клиентов или проектов (например, база данных для каждого арендатора или tenant_id в таблицах).
Централизованная кодовая база упрощает управление общая логика и обновления.
Вариант 2: несколько независимых приложений Laravel
Каждое проект имеет собственное приложение Laravel.
Общие миграции и логика могут быть размещены в общем пакете или каталоге (например, с помощью пакета Composer или loadMigrationsFrom для миграций).
Проекты полностью изолированы и могут развиваться независимо, но обновления общей логики или схемы необходимо синхронизировать между всеми приложениями.
Я создаю несколько серверных систем с помощью Laravel, которые имеют схожую функциональность и структуру базы данных. Системы предназначены для разных целей и клиентов, но у них есть пересекающиеся функции, такие как аутентификация, общие таблицы базы данных и общая бизнес-логика. Сейчас я обсуждаю два подхода: Вариант 1: Одно большое монолитное приложение Laravel [list] [*]Одно Laravel приложение, в котором реализованы все функциональные возможности. [*]Используйте мультитенантность для разделения данных для разных клиентов или проектов (например, база данных для каждого арендатора или tenant_id в таблицах). [*]Централизованная кодовая база упрощает управление общая логика и обновления. [/list] Вариант 2: несколько независимых приложений Laravel [list] [*]Каждое проект имеет собственное приложение Laravel. [*]Общие миграции и логика могут быть размещены в общем пакете или каталоге (например, с помощью пакета Composer или loadMigrationsFrom для миграций). [*]Проекты полностью изолированы и могут развиваться независимо, но обновления общей логики или схемы необходимо синхронизировать между всеми приложениями. [/list]