Вопрос по symfony, php – Портирование сайта с Symfony 1.4 на 2.0

9

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

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

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

Ваш Ответ

2   ответа
5

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

HTTP fundamentals PHP namespaces, which are heavily used Symfony2 documentation Symfony2 documentation Symfony2 documentation PHPUnit documentation

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

Models, business logic? Did you use Doctrine in symfony? If yes, look at how to port your entities to Doctrine2, and learn about the differences. If you used Propel, I would look at switching to Doctrine2 and not use the PropelBundle, atleast until you get used to Symfony2. You can find better documentation and sample code out there for Doctrine2.

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

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

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

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

Фактически не видя ваш код, невозможно дать хороший ответ о том, насколько трудным оно будет. Это очень выполнимо, но простого пути нет. Symfony2, IMHO, путь будущего для проектов PHP, и в итоге вы получите проект, который намного проще поддерживать и поддерживать.

да, ты так оооочень прав :), теперь мы посмотрим. если бюджет даст нам разрешение ... я обязательно буду придерживаться версии 2.0 (с удовольствием gr8) holographix
да, это то же самое, что я думаю ... Я согласен, что это будет перезапись, а не порт, потому что текущий проект (в symfony 1.4) - это куча грязного / спагетти-кода и нуб-программирования. это сделал ппл, который не знал, что они сделали. просто подумайте, что мне потребовалось более 2 недель, чтобы выяснить больную логику за уродливым структурированным кодом ... настоящий кошмар. и теперь, когда я снова возьму это в руки, я действительно испытываю желание переписать его в Symfony 2.0 holographix
Я бы сказал, пойти на это, вы сэкономите время позже, пожалуйста, наличие реального проекта является хорошей движущей силой для изучения чего-то нового.
8

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

выглядит хорошо, мне также нужно перейти от старого грязного двигателя к новой, дружественной человеку доктрине2, так что это действительно может пригодиться :) holographix

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