Хотелось бы интегрировать устаревшее приложение с приложением Symfony 2 - заменяя все больше и больше частей старого приложения компонентами Symfony. Подход, который я хотел бы использовать, заключается в использовании контейнера Symfony 2 в унаследованном приложении, который получает службы, которые уже настроены для приложения Symfony 2. Первыми услугами, которые я хотел бы использовать, являются сеанс и контекст безопасности.Как использовать контейнер Symfony 2 в устаревшем приложении
Вопросы:
- Является ли это возможно?
- Как получить сконфигурированный контейнер службы?
Дополнительная информация в унаследованном приложении: типичный беспорядок PHP: отдельные файлы PHP, как «контроллеры» (проверка $ _GET и $ _POST для разных путей выполнения). Каждая страница включает в себя init.php
, которая устанавливает автозагрузку, подключение к базе данных и т. Д. Управление сеансом имеет свой собственный класс (который я бы хотел заменить), данные извлекаются через вызовы статическим методам (!) Объектов базы данных.
Я не могу сказать, возможно ли это или нет ... Конечно, это так, но стоит ли это? Чтобы реализовать контейнер службы, примите во внимание, что вам нужно будет реализовать ядро Symfony2, то есть ядро структуры. – AlterPHP
Без какой-либо информации о структуре устаревшего приложения ответить на этот вопрос невозможно, за исключением того, что, возможно, это невозможно для кода без OOP без серьезной перезаписи. – GordonM
Я сделал что-то вроде этого. Я использовал обычный S2, чтобы перейти к действию контроллера S2. С контроллера я тогда назвал свой старый код инициализации, а затем назвал его контроллерами. Очень хак, но все получилось хорошо. Я не думаю, что вам удастся получить правильно настроенный объект сеанса S2, не делая ничего подобного. – Cerad