2013-08-19 3 views
1

Я загрузил много версий cakephp, от 2.3.1 до 2.3.9, я хотел бы протестировать мое приложение, используя разные версии.Как использовать другую версию cakephp?

Я знаю, что мне нужно переопределить/lib каталог с той версией, которую я хочу использовать. Но есть ли более эффективный способ?

я есть:

/cakephp/2.3.1 
/cakephp/2.3.2 
/cakephp/2.3.3 
/cakephp/2.3.4 
.... 

Как я могу переключить версию CakePHP легко?

может быть ссылка: /home/example.com/www/lib > /cakephp/2.3.2/lib

+0

используйте символические ссылки, как вы сказали. –

+0

@ joshua.paling Я думал, что существует другой способ сделать это, возможно, используя /Config/bootstrap.php? – Dail

+0

Какова мотивация тестирования приложения для разных версий? –

ответ

3

Обзор:

Это действительно просто и только требует изменения пути в одном файле.

Детали:

Просто держать все версии торт в папке выше вашего app/ каталога - что-то вроде этого:

app/ 
cake/ 
    cakephp_1_3/ 
    cakephp_2_1/ 
    cakephp_2_2_beta/ 
    cakephp_2_3_9/ 

Затем, когда вы хотите попробовать новую версию, просто изменить строка, которая устанавливает CAKE_CORE_INCLUDE_PATH в ваш файл app/webroot/index.php на версию CakePHP, которую вы хотите использовать. Пример:

define('CAKE_CORE_INCLUDE_PATH', 'D:\wamp\cakephp\cakephp_2_3_9\lib'); 

Примечания:

Это также работает онлайн - просто убедитесь, что изменить путь к папке на сервере, а не локальной машине.

Я нахожу ОЧЕНЬ полезным хранить файлы ядра CakePHP отдельно, так что вы можете просто обновить их до последней версии, легко разрешая при необходимости, если есть какие-либо проблемы.

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

0

Лично я начал использовать CakePHP от 1,3 до стабильного последней 2.4 беты.

У меня никогда не было нескольких версий для моего приложения, но я успешно обновился с одной версии до новой. Это единственный раз, когда мне нужно проверить свое приложение на разные версии CakePHP.

Я не уверен, что причина тестирования приложения в разных версиях в вашем случае.

Сначала я прочитаю руководство по миграции, чтобы узнать, есть ли какие-либо серьезные изменения. Обычно для незначительных обновлений, что означает от 2.3.1 до 2.3.2, я пропустил бы чтение руководства по миграции, потому что изменения не были огромными.

Если это крупное обновление как 2,1 до 2,2, мои шаги:

  1. Создать отдельную ветвь
  2. Заменить мою Lib папку с новой версией.
  3. Refactor любого существующих приложений код для размещения обновления после прочтения руководства по миграции
  4. Refactor моих модульных тестам при необходимости
  5. повторять 3 и 4 до всех пройденных тестов.
  6. Теперь слейте обратно в основную ветвь

Для небольших модернизаций, как 2.3.1 2.3.2, мои шаги:

  1. Создать отдельную ветвь
  2. Заменить мою Lib папку с новая версия.
  3. Завершите мои модульные тесты
  4. Код приложения Refactor при необходимости до тех пор, пока все испытания не пройдены.
  5. Слить обратно в главную ветку.

Если вы НЕ тестируете версии из-за обновления, то, я думаю, ваша идея использовать символические ссылки достаточно хороша.

Смежные вопросы