목차
从CakePHP 1.3升级到2.5,cakephp1.3升级2.5
从CakePHP 1.3升级到2.5
目录
1. 为什么要升级
2. 项目概况
3. 使用的工具
4. 升级的过程
4.1 备份
4.2 更新CakePHP的核心库到2.x
4.3 准备升级工具Upgrade Shell
백엔드 개발 PHP 튜토리얼 从CakePHP 1.3升级到2.5,cakephp1.3升级2.5_PHP教程

从CakePHP 1.3升级到2.5,cakephp1.3升级2.5_PHP教程

Jul 13, 2016 am 10:21 AM
cakephp 치받이

从CakePHP 1.3升级到2.5,cakephp1.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方便地把CSS和JavaScript放在页面中你希望的地方,而不再痛苦地受限于旧的方式,等等。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,打开压缩包,如下图所示。

lib目录即是CakePHP 2.x的核心库

图中的lib目录就是CakePHP的核心库,把这个lib目录拷贝到根目录下,然后删除1.3的cake目录,得到如下图所示的目录结构。

lib\Cake目录就是CakePHP 2.x的核心库

图中的lib\Cake目录就是CakePHP 2.x的核心库。

4.3 准备升级工具Upgrade Shell

Upgrade Shell是CakePHP核心的一部分,位于lib\Cake\Console\目录下,只需确保能够运行CakePHP Console可执行文件就可以了,这可以参考CakePHP Console的文档。如下图所示,

cake是*nix下的可执行文件,cake.bat是Windows下的可执行文件

图中的cake是*nix下的可执行文件,cake.bat是Windows下的可执行文件。我采用的做法,是参考了Upgrade Shell的文档,把lib\Cake\Console\目录拷贝到app目录下,这样只是执行的命令行路径有所不同,结果是一样的,如下图所示。

从CakePHP 1.3升级到2.5,cakephp1.3升级2.5_PHP教程

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Conda에서 Python 버전을 업그레이드하는 여러 가지 방법 Conda에서 Python 버전을 업그레이드하는 여러 가지 방법 Feb 18, 2024 pm 08:56 PM

Conda가 Python 버전을 업그레이드하는 몇 가지 방법에는 특정 코드 예제가 필요합니다. 개요: Conda는 Python 패키지 및 환경을 관리하기 위한 오픈 소스 패키지 관리자이자 환경 관리 시스템입니다. Python을 사용하여 개발하는 동안 새 버전의 Python을 사용하려면 이전 Python 버전에서 업그레이드해야 할 수도 있습니다. 이 기사에서는 Conda를 사용하여 Python 버전을 업그레이드하는 여러 가지 방법을 소개하고 특정 코드 예제를 제공합니다. 방법 1: condainstall 명령 사용

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

cakephp4에서 날짜와 시간을 다루기 위해 사용 가능한 FrozenTime 클래스를 활용하겠습니다.

numpy 버전 업그레이드: 상세하고 따라하기 쉬운 가이드 numpy 버전 업그레이드: 상세하고 따라하기 쉬운 가이드 Feb 25, 2024 pm 11:39 PM

numpy 버전 업그레이드 방법: 따라하기 쉬운 튜토리얼, 구체적인 코드 예제 필요 소개: NumPy는 과학 컴퓨팅에 사용되는 중요한 Python 라이브러리입니다. 효율적인 수치 연산을 수행하는 데 사용할 수 있는 강력한 다차원 배열 객체와 일련의 관련 함수를 제공합니다. 새 버전이 출시되면 새로운 기능과 버그 수정이 지속적으로 제공됩니다. 이 문서에서는 설치된 NumPy 라이브러리를 업그레이드하여 최신 기능을 얻고 알려진 문제를 해결하는 방법을 설명합니다. 1단계: 처음에 현재 NumPy 버전을 확인하세요.

win10 시스템 업그레이드 후 인터넷에 접속할 수 없는 문제를 해결하는 방법에 대한 튜토리얼 win10 시스템 업그레이드 후 인터넷에 접속할 수 없는 문제를 해결하는 방법에 대한 튜토리얼 Mar 27, 2024 pm 02:26 PM

1. 아래와 같이 win+x 단축키를 사용하여 메뉴를 열고 [명령 프롬프트(관리자)(A)]를 선택합니다. 2. 명령 프롬프트 인터페이스에 들어간 후 [ipconfig/flushdns] 명령을 입력하고 Enter를 누릅니다. 3. 그런 다음 아래 그림과 같이 [netshwinsockresetcatalog] 명령을 입력하고 Enter를 누릅니다. 4. 마지막으로 [netshintipreset] 명령을 입력하고 Enter를 누르고 컴퓨터를 다시 시작하면 인터넷에 액세스할 수 있습니다. , 아래 그림과 같이:

Honor 휴대폰을 Hongmeng 시스템으로 업그레이드하는 방법에 대한 자세한 설명 Honor 휴대폰을 Hongmeng 시스템으로 업그레이드하는 방법에 대한 자세한 설명 Mar 25, 2024 am 11:51 AM

새로운 기술 분야에서는 항상 새로운 운영체제가 많은 주목을 받습니다. 최근 Honor 휴대폰은 Huawei가 개발한 새로운 운영 체제인 Hongmeng OS로 업그레이드될 것이라고 발표했습니다. 이는 의심할 여지 없이 많은 Honor 휴대폰 사용자에게 좋은 소식입니다. 그러나 많은 사용자들은 여전히 ​​Hongmeng 시스템으로 업그레이드하는 방법에 대해 의구심을 갖고 있을 수 있습니다. 이 기사에서는 Honor 휴대폰을 Hongmeng 시스템으로 업그레이드하는 방법을 자세히 설명하여 사용자가 이를 더 잘 이해하고 작동할 수 있도록 돕습니다. 우선 Honor 휴대폰을 Hongmeng 시스템으로 업그레이드하려면 사용자는 휴대폰이 네트워크에 연결되어 있고 전력이 충분한지 확인해야 합니다. 이것

wps 버전을 업그레이드하는 방법은 무엇입니까? wps office 버전을 업데이트하는 방법은 무엇입니까? wps 버전을 업그레이드하는 방법은 무엇입니까? wps office 버전을 업데이트하는 방법은 무엇입니까? Mar 14, 2024 am 08:43 AM

WPS는 많은 사용자에게 꼭 필요한 컴퓨터 소프트웨어입니다. 새 버전을 정기적으로 업데이트하면 사용자는 더 나은 사용자 경험과 더 많은 기능을 얻을 수 있습니다. 그렇다면 wps 버전을 업그레이드하는 방법은 무엇입니까? wpsoffice를 업그레이드하는 데는 세 가지 주요 방법이 있습니다. 아래에서 살펴보겠습니다. 방법 1: 공식 웹사이트에서 새 버전을 다운로드합니다. WPSOffice 공식 웹사이트에서 최신 버전의 설치 패키지를 다운로드할 수 있습니다. WPSOffice 공식 웹사이트(https://www.wps.cn/)에 접속한 후 "다운로드" 버튼을 클릭하고 다운로드해야 하는 버전을 선택한 후 안내에 따라 설치하세요. 참고: 새 버전을 설치할 때 이전 버전을 제거해야 합니다. 그렇지 않으면 소프트웨어 충돌이 발생하여 정상적인 사용이 불가능해집니다. 방법 2: WPSOf에서

Xiaoyi가 지능형 에이전트로 업그레이드되었습니다! HarmonyOS NEXT Hongmeng 네이티브 인텔리전스가 새로운 AI 시대를 엽니다 Xiaoyi가 지능형 에이전트로 업그레이드되었습니다! HarmonyOS NEXT Hongmeng 네이티브 인텔리전스가 새로운 AI 시대를 엽니다 Jun 22, 2024 am 01:56 AM

6월 21일, 화웨이 개발자 컨퍼런스 2024(HDC2024)가 둥관 송산호에서 다시 모였습니다. 이번 컨퍼런스에서 가장 눈길을 끄는 점은 HarmonyOSNEXT가 개발자와 선구적인 사용자를 위한 베타를 공식적으로 출시하고 모든 시나리오, 기본 인텔리전스 및 기본 보안에서 HarmonyOSNEXT의 세 가지 "최고의" 혁신 기능을 포괄적으로 시연한다는 것입니다. HarmonyOSNEXT 네이티브 인텔리전스: 새로운 AI 시대를 열다 HarmonyOSNEXT는 안드로이드 프레임워크를 버리고 안드로이드와 iOS로부터 독립된 진정한 독립 운영체제가 되었으며, 이는 전례 없는 재탄생이라고 할 수 있습니다. 많은 새로운 기능 중에서 네이티브 인텔리전스는 의심할 여지 없이 사용자에게 직관적인 느낌과 업그레이드 경험을 가장 잘 제공할 수 있는 새로운 기능입니다.

See all articles