Я перенес несколько сайтов с CakePHP 1.2 на 1.3.По моему опыту, это занимает 2-3 часа на сайтах, которые имеют 5-10 контроллеров и не имеют пользовательских плагинов и т. Д. Я нахожу, что мне обычно нужно изменить синтаксис только для нескольких вызовов функций, и когда я выясняю, какие из них,это просто вопрос поиска / замены по всему сайту.Конечно, это может быть больше проблемой при переходе с 1.3 на 2.0, но я не понимаю, что это будет особенно радикальное изменение API.
ОБНОВЛЕНИЕ: Сейчас я нахожусь в процессе перехода на бета-версию CakePHP 2.0 и подумал, что мне следует обновить его, так как я считаю, что обновления более обширны и масштабны, чемЯ предположил, когда я написал это.Руководство по миграции здесь: https://github.com/cakephp/docs/blob/master/en/appendices/2-0-migration-guide.rst
ДРУГОЕ ОБНОВЛЕНИЕ: Поскольку люди, кажется, находят это полезным, я просто подумал, что хотел бы указать, что Cake теперь услужливо предоставляет оболочку обновления, которая делает некоторыеработы для вас.Обратите внимание, что хотя в документации сказано, что она выполнит «большую часть» работы, я обнаружил, что все еще довольно много вызовов функций и т. Д., Которые необходимо будет обновить вручную (см. Руководство по миграции).http://book2.cakephp.org/en/console-and-shells/upgrade-shell.html
Как сказал dhofstet, все будет зависеть от размера и сложности вашего сайта.
Независимо от того, производите ли вы обновление, обычно это решающий вызов, но иногда это необходимо (например, Cake 1.2 имеет некоторый код, который сломается, если ваш хост обновится до PHP 5.3).У вас наверняка не будет проблем с безопасностью, которые были бы у старой установки WordPress, Drupal и т. Д.Я видел заметное увеличение скорости при обновлении Cake, поэтому в зависимости от ситуации это может стоить проблем только для этого (Cake 2.0 окончательно отказывается от поддержки PHP 4).Посмотрите на заметки о выпуске и посмотрите, есть ли что-то, что привлекает вас в новой версии.
Чтобы увидеть вашу версию, в файле cake/VERSION.txt
посмотрите на самую последнюю строку.Это легко пропустить, но это должен быть просто номер, например 1.3.8
.