从CakePHP 1.3升级到2.5,cakephp1.3升级2.5_PHP教程
从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是应用程序代码。
下载最新的CakePHP,我用的是2.5.3,打开压缩包,如下图所示。
图中的lib目录就是CakePHP的核心库,把这个lib目录拷贝到根目录下,然后删除1.3的cake目录,得到如下图所示的目录结构。
图中的lib\Cake目录就是CakePHP 2.x的核心库。
4.3 准备升级工具Upgrade Shell
Upgrade Shell是CakePHP核心的一部分,位于lib\Cake\Console\目录下,只需确保能够运行CakePHP Console可执行文件就可以了,这可以参考CakePHP Console的文档。如下图所示,
图中的cake是*nix下的可执行文件,cake.bat是Windows下的可执行文件。我采用的做法,是参考了Upgrade Shell的文档,把lib\Cake\Console\目录拷贝到app目录下,这样只是执行的命令行路径有所不同,结果是一样的,如下图所示。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Conda が Python バージョンをアップグレードするためのいくつかの方法には、特定のコード サンプルが必要です。 概要: Conda は、Python パッケージと環境を管理するためのオープン ソースのパッケージ マネージャーおよび環境管理システムです。 Python を使用した開発中、新しいバージョンの Python を使用するために、古い Python バージョンからアップグレードする必要がある場合があります。この記事では、Conda を使用して Python のバージョンをアップグレードするいくつかの方法を紹介し、具体的なコード例を示します。方法 1: condainstall コマンドを使用する

numpy バージョンをアップグレードする方法: わかりやすいチュートリアル、具体的なコード例が必要 はじめに: NumPy は科学技術計算に使用される重要な Python ライブラリです。これは、強力な多次元配列オブジェクトと、効率的な数値演算を実行するために使用できる一連の関連関数を提供します。新しいバージョンがリリースされると、新しい機能やバグ修正が常に提供されます。この記事では、インストールされている NumPy ライブラリをアップグレードして最新の機能を入手し、既知の問題を解決する方法について説明します。ステップ 1: 最初に現在の NumPy バージョンを確認する

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

1. 以下に示すように、win+x ショートカット キーを使用してメニューを開き、[コマンド プロンプト (管理者) (A)] を選択します。 2. コマンド プロンプト インターフェイスに入ったら、[ipconfig/flushdns] コマンドを入力して Enter キーを押します。 3. 次に、次の図に示すように、[netshwinsockresetcatalog] コマンドを入力して Enter キーを押します。 4. 最後に [netshintipreset] コマンドを入力して Enter キーを押し、コンピューターを再起動すると、インターネットにアクセスできるようになります。 、以下の図に示すように:

6月21日、Huawei Developer Conference 2024(HDC2024)が東莞市松山湖に再び集まりました。今回のカンファレンスで最も目を引いたのは、HarmonyOSNEXTが開発者とパイオニアユーザー向けにベータ版を正式に開始し、すべてのシナリオにおけるHarmonyOSNEXTの3つの「画期的な」革新的な機能、ネイティブインテリジェンスとネイティブセキュリティを包括的に実証したことだ。 HarmonyOSNEXT ネイティブ インテリジェンス: 新しい AI 時代の幕開け HarmonyOSNEXT は、Android フレームワークを放棄した後、Android や iOS から独立した真に独立したオペレーティング システムとなり、前例のない復活と言えます。多くの新機能の中でも、ネイティブ インテリジェンスは間違いなく、ユーザーに直感的な感覚と体験のアップグレードを最もよくもたらす新機能です。

小紅書でプロアカウントにアップグレードする方法を知りたいという友人が多かったので、ここで操作方法を紹介しますので、興味があればぜひ一緒に見てください。携帯電話で「Little Red Book」APPを開き、入力後右下隅の「My」オプションをクリックし、Myページの左上隅にある「3本の水平線」アイコンを見つけてクリックして開きますそれ。 2. メニューページが表示されるので、「Creation Center」項目をクリックして選択します。 3. 次に、入力したページの「作成サービス」の下のオプションで「その他のサービス」を見つけ、クリックして入力します。 4. ページが移動したら、「作成者の機能」のオプションで「プロフェッショナル アカウントを開く」をクリックします。 5.最後に、入力したページでXiaohongshuプロフェッショナルアカウントが紹介されます。「」をクリックします。
