Можно ли постепенно интегрировать Laravel, установив его в качестве основного каркаса, а затем встроив в него CMS?

Здравствуйте! У меня есть довольно старый проект, который со временем значительно увеличился в объеме контента и функционала. Портал работает на самописной CMS (PHP 5 + MySQL), и разработчики рекомендуют перейти на современные технологии, а именно на Laravel и PostgreSQL, чтобы повысить как производительность, так и актуальность сайта. 

Я понимаю, что это разумный совет, однако за 10 лет было написано много функционала и контента. По оценкам, переписывание проекта на Laravel займет минимум год, а скорее всего и полтора. При этом портал продолжает пополняться новыми функциями, и возникает риск, что обновленная версия проекта всегда будет «отставать», или мы можем попасть в цикл бесконечного дополнения и переписывания.

В связи с этим, у меня возникает вопрос: возможно ли постепенно внедрить Laravel в проект? Например, установить его как основной каркас, интегрировать в него существующую CMS и затем поэтапно переписывать каждый компонент?
  • 15 февраля 2025 г. 20:34
Ответы на вопрос 2
Да, интеграция Laravel в существующий проект возможна, и это может быть разумным подходом для плавного перехода на более современные технологии. Вот несколько шагов и рекомендаций, как можно реализовать этот процесс:

1. **Создание новой структуры**: Установите Laravel в качестве основного каркаса вашего проекта. Разработайте его базовую структуру, сохранив при этом существующий код вашей CMS.

2. **Параллельное использование**: Вы можете настроить маршрутизацию так, чтобы некоторые URL-адреса обрабатывались вашим старым кодом, а другие — новым фронтендом на Laravel. Это позволит вам постепенно замещать функционал, переходя на новый каркас.

3. **API и микросервисы**: Если у вас есть крупные функциональные блоки, рассмотрите возможность их переписывания на Laravel в виде API или микросервисов. Вы сможете продолжать использовать их в старой системе, пока новые модули не будут готовы.

4. **Миграция данных**: Начните работу над миграцией базы данных. Ваша новая система будет работать с PostgreSQL, поэтому подумайте о том, как вы будете перенаправлять данные из старой базы данных в новую.

5. **Поэтапное обновление функционала**: После того как вы интегрируете Laravel, начинайте постепенно переписывать различные компоненты и функционал вашего сайта. Это можно делать поэтапно, добавляя новые возможности в Laravel, и тестируя их на реальных пользователях.

6. **Обратная связь от пользователей**: Важно учитывать обратную связь от пользователей, так как они могут заметить изменения, если вы будете внедрять их постепенно. Это поможет вам оценить, как новые функции воспринимаются в процессе миграции.

7. **Внедрение тестирования**: Для каждого нового компонента в Laravel стоит применять тестирование, чтобы гарантировать, что новые функции работают корректно и без сбоев.

8. **Документация**: Не забывайте вести документацию по каждому этапу, чтобы разработчики, работающие над проектом, могли легко ориентироваться в структуре кода и знать, как взаимодействовать с новыми компонентами.

Этот подход позволит вам минимизировать риски и избегать ситуации, когда проект постоянно "отстает". Постепенная интеграция также может снизить нагрузку на команду разработки, позволяя ей работать более эффективно.
Нельзя. 
Через извращение можно.
Как устроена у вас Аутентификация? Можно попробовать вход переписать.
Как устроена самописная CMS? Можно попробовать вызвать render или вызывать страницы с другого сервера. Извращеный API.
Похожие вопросы