2013-08-19 69 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/ 

然后,每当你想尝试一个新的版本,只是改变将您的app/webroot/index.php文件中的CAKE_CORE_INCLUDE_PATH设置为您要使用的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. 重构任何现有应用代码读取迁移指南
  4. 重构我的单元测试如有必要
  5. 不断重复图3和4,直到通过所有测试后以容纳升级。
  6. 现在合并回主分支

对于小型升级一样2.3.1 2.3.2,我的步骤是:

  1. 创建一个单独的分支
  2. 与替换我的lib文件夹新版本。
  3. 如果必要的话,直到通过所有测试运行我的单元测试
  4. 重构应用程序代码。
  5. 合并回主分支。

如果因为升级而不针对版本进行测试,那么我想你使用符号链接的想法已经足够了。