Портирование веб-сайта с Symfony 1.4 до 2.0

У меня есть огромный сайт, который был написан (в очень плохом смысле) в symfony 1.4 сейчас, меня попросили внести существенные изменения в поток навигации, добавить некоторые функции и т. Д. С учетом усилий, Мне было интересно, было бы лучше принять радикальное решение о переносе всего веб-сайта на symfony 2.0, но я не уверен, насколько это сложно.

Кто-нибудь когда-либо делал это раньше?

Есть ли у вас какие-либо предположения о том, чтобы использовать шаблоны, или учебные пособия или документы или что-то еще?

Вы можете обернуть свой старый проект в новом проекте sf2, используя этот комплект . Таким образом, вы сможете перенести свой проект за один раз, и новые функции могут быть разработаны с помощью sf2, как только вы получите оболочку для работы. Вы можете быть заинтересованы в этом сообщении о миграции

Вот как я буду заниматься этим:

Вам нужно сначала изучить и изучить некоторые вещи:

  • Основы HTTP
  • Пространства имен PHP, которые сильно используются
  • Документация Symfony2
  • Документация Symfony2
  • Документация Symfony2
  • Документация PHPUnit

Затем, когда вы получаете поддержку Symfony2, вам нужно узнать, что повторно использовать из старого проекта:

Модели, бизнес-логика? Вы использовали Доктрину в symfony? Если да, посмотрите, как переносить свои сущности в Doctrine2 и узнавать о различиях. Если бы вы использовали Propel, я бы посмотрел на переход на Doctrine2 и не использовал PropelBundle, по крайней мере, пока вы не привыкнете к Symfony2. Вы можете найти лучшую документацию и образец кода для Doctrine2.

Вам также необходимо преобразовать ваши старые классы помощников в службы Symfony2.

Просмотры? Symfony2 использует Twig в качестве шаблона для моделирования, но вы можете пойти с чистым PHP.

Контроллеры? Это должно быть похоже на symfony. Поток Symfony2 соответствует потоку HTTP, то есть вы получаете объект Request и должны возвращать объект Response.

Это действительно зависит от того, насколько хорошо структурирован наш старый проект. Symfony2 – совершенно другой зверь, чем 1.0-1.4. Я бы, вероятно, не назвал его портом, но переписал – однако, если ваш старый проект хорошо структурирован, вы, вероятно, можете многократно использовать его.

Без фактического просмотра вашего кода невозможно дать хороший ответ о том, насколько это было бы тяжело. Это очень удобно, но нет простого маршрута. Symfony2 – это ИМХО, путь будущего для проектов PHP, и в итоге вы получите проект, который намного проще поддерживать и поддерживать.