@porozhnyy

Как подключить symfony2 в существующий проект?

День добрый. Работая над старым проектом появилась задача перенести его на Symfony. Причем перенести не сразу, а новые модули писать на symfony, а старые чтобы дорабатывали свое на старом движке, работая параллельно. Скажите, сталкивался кто с такими задачами? Или как заставить работать symfony со сторонним движком? Чтобы вызовы шли из стороннего кода к коду symfony(вообще предполагаю ставить в разных дирректориях). Спасибо за здравые мысли и идеи ;)
  • Вопрос задан
  • 352 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
1) делаем адаптер PSR-7 (или HttpKernel) к вашему движку
2) делаем приложеньку на симфони
3) ставим мидлвэр который будет разруливать на какое приложение какие запросы кидать. Это можно разруливать и через nginx но как-то не круто.
4) когда начинаем пилить функционал на симфони и нужно что-то реюзать из старой кодобазы, стараемся отделить то что мы хотим заюзать от старой инфраструктуры (можно скажем сервис-декоратор запилить для старого движка) и регистрируем его в DI
5) постепенно переносим код, модель можно оставить старую если это возможно.

По сути основная сложность отделить модель от инфраструктуры движка и почистить сервисный слой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Symfony - это фреймворк. Одна из особенностей фреймоврка - он вызывает пользовательский код, а не наоборот.
Так что если нужно сделать проект на symfony - Вам нужно полностью переделать его на симфони (сделать так, чтобы симфони вызывал ваш код).

Или есть вариант использовать отдельные компоненты симфони, используя их как вам удобно.
Ответ написан
@trike
Можно реализовать общение между старым движком и новым движком через специальное API. То есть программно движки не связаны, общаются только через HTTP запросы.
Ответ написан
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
Сейчас аналогично интегрируем в проект Silex.
Старый код - вообще лапша на php местами.
Поставили silex параллельно со старым движном, ибо всё, что ему нужно - это index.php в корне веб-папки. Роутинг у нас оказался не затронут, потому что не было красивых урлов в старом движке.
Новые разделы - соответственно на silex, пишем свои классы. Из важного - это настроили автолоадер новых классов, чтобы их можно было использовать в старых файлах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы