Миграция с одного PHP-фреймворка на другой - PullRequest
4 голосов
/ 10 ноября 2010

Я работаю с веб-компанией, которая приближается к точке, где ей, вероятно, потребуется переосмыслить продукт как V2 - из-за того, что он перерос некоторые из его основ и принципов V1, которые были встроены практически во все, от данныхмодель для пользовательских интерфейсов.По разным причинам эта эволюция может включать в себя переход с CakePHP (с помощью которого был построен V1) на Symfony или Zend.

Я хотел бы спросить о некоторых опытных взглядах на то, как люди могли управлять переходом, напримерэто для веб-сайта, который имеет значительный трафик и приносит доход.Я не хочу открывать дискуссию о плюсах и минусах различных фреймворков PHP или о том, почему может потребоваться такая миграция.Скорее, мне было бы очень интересно услышать, есть ли какие-то практические альтернативы созданию V2 с нуля вместе с V1 в течение нескольких месяцев и ограничению драгоценного времени кодирования на время этого интенсивного периода.Примером такой альтернативы может быть миграция приложения по частям в течение более длительного периода времени.

Буду признателен за любые мнения людей, которые могли бы управлять или участвовать в таких переходах.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 10 ноября 2010

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

  1. Установите и установите Symfony.
  2. Поместите существующий проект CakePHP в Symfony как плагин.
  3. Установите плагин, чтобы он имел общий маршрут, который принимает параметры и обрабатывает их как запрос Cake PHP. Теперь у вас есть все ваши страницы CakePHP, работающие в Symfony. Это, вероятно, самый сложный шаг, который может включать в себя решение некоторых проблем с автозагрузкой или другими конфликтами.
  4. Теперь вы можете выборочно переносить модели, контроллеры и представления CakePHP.

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

3 голосов
/ 10 ноября 2010

Если вы переедете в Zend, вы можете начать использовать Zend Classes один за другим, чтобы помочь вам с основными задачами.Вы можете очень хорошо использовать любой класс модели с ZF.Так что только думайте, что для этого действия «большого взрыва» понадобятся контроллеры / представления.Фактически вы также можете интегрировать существующие представления с ZF.Но я думаю, что это излишество, и оно не будет длиться очень долго ...

Итак - завернутый

  • переключение на классы Zend для базовых задач, таких как генерация RSS, электронная почта, проверка,и т. д. Это поможет вам в следующем шаге.
  • выполните действие big bang и переключите (м) VC на ZF, оставьте модели
  • переключать модели на что-то большееZend-ish
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...