首页 > 编程 > PHP > 正文

从CakePHP 1.3升级到2.5

2019-11-15 01:43:06
字体:
来源:转载
供稿:网友
从Cakephp 1.3升级到2.5从CakePHP 1.3升级到2.5

摘要:最近把一个CakePHP 1.3的项目升级到了2.x,当然就用最新的版本2.5.3了,结果基本满意。本文记录了升级的过程,包括使用的工具,遇到的问题和相应的解决方法。

这篇文章涉及的内容要求至少有CakePHP中级水平,如果你是刚开始使用CakePHP,建议先不要作这样的尝试,否则遇到问题都不知道怎么解决。


目录

1. 为什么要升级

2. 项目概况

3. 使用的工具

4. 升级的过程

5. 升级之后遇到的问题及解决方法

A. 参考资料


1. 为什么要升级

升级到最新版本有很多好处,可以得到最新的更新和功能,可以使用DebugKit这样的调试工具,可以使用View Block方便地把CSSjavaScript放在页面中你希望的地方,而不再痛苦地受限于旧的方式,等等。View Block一直是我最希望使用的特性。

2. 项目概况

这个项目的开发大致起始于2012年底,我从2013年中开始参与,到2014年中,所有用户要求的功能基本都完成了。我参与了大概1年左右,只是利用业余时间进行。代码一开始是抄自于一个CakePHP 1.3的项目,而没有使用当时最新的2.x版本,这也使得许多开发工作不能利用框架最新的特性和工具,延长了开发周期。可以说,这个项目从开始就做了错误的选择。先后参与的开发人员前后有6个人之多,多数是临时抓来的,大部分人做一段时间之后就会离开,有些功能甚至没有完成就走人了。而且大家对CakePHP这个框架没有深入的了解,导致这个项目的代码没有一致性,也缺乏统一的计划、架构和规范,没有单元测试。总之,项目的代码质量是不能令人满意的。这些恐怕是大部分业余项目难以避免的问题。

幸好,这个项目不算特别复杂,计有:

  • 数据库有36张表
  • 19个控制器(Controller)
  • 33个模型(Model)
  • 63个视图(View)
  • 2个插件(Plugin)
  • 当然还有其他一些东西

通过这些数据可以看出这个项目的规模,应该说是个中小型网站吧。

3. 使用的工具

升级只使用了2个工具,首先是官方的Upgrade Shell,以及DerEuroMark的Upgrade Plugin。

4. 升级的过程

真正动手升级之前我花了一些时间阅读参考资料中列出的文档,实际的升级过程前后总共花了4天时间,不过这里面相当一部分时间用于升级后的测试、以及寻找解决问题的方法。我毕竟从1年前才开始真正使用PHP和CakePHP来开发实际使用的网站,而且只是利用业余时间,所以时间有限,很多东西也都是边做边摸索学习,主要目标是要完成用户需求所要求的功能,来不及了解CakePHP框架的各个方面。如果你有相应的经验,或者有解决下面所涉及问题的这些知识,这个过程会快许多。

4.1 备份

首先,确保升级之前,应用程序运行良好,做好代码和数据的备份。如果没有备份,请就此打住!!!

我使用Git(TortoiseGit)做源码控制,这让我可以随时回到过去某一个时间点。数据库使用的是MySQL,升级之前也要做好备份。如果升级过程出了问题,进行不下去,备份让你可以恢复到开始升级之前的状态;如果没有备份,那你可就进退维谷了。

4.2 更新CakePHP的核心库到2.x

这个项目在升级前的目录结构,如下图所示,

cake为CakePHP 1.3的核心库,app是应用程序代码

图中,cake为CakePHP 1.3的核心库,app是应用程序代码。

下载最新的CakePHP,我用的是2.5.3,打开压缩包,如下图所示。

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表