てきとうなさいと べぇたばん

このサイトのフレームワークCakePHPのアップグレードをしました。

TOP > てきとうにこらむ > このサイトについて。 > このサイトのフレームワークCakePHPのアップグレードをしました。

Powerd by CakePHP なぜ移行するのか、改修計画を練っていたところ 表側の移行計画

このサイトのアップグレードをしました

うれしいお知らせです。本サイト、「てきとうなさいと。べぇたばん」ですが、今まで長い間CakePHP 2系を使っていました。それを、CakePHP 4系にアップグレードすることにし、2021年4月19日に完了しました。このことを誇りに思います。

長年の懸案事項

このサイトは、もともと技術的なチャレンジを行うためのサイトのはずでした。HTML5やCSS3を、どう使っていくかということを考えていったり、Dockerを使い、PHP 7系を早くから使い始めることに成功したり、IoTのためにデータを保存してグラフにしたり。

しかしながら、そのサイトそのものがCakePHP 2系で3系へのアップグレードが難しく、ずるずると4がリリースされるまでになってしまい、2021年になっていました。今ではLaravelのほうが人気ですね。

CakePHPのバージョンを上げていくことで、しっかりとPSRに準拠したフレームワークとなり、composerによってライブラリの管理ができるようになるなど、メリットは大きいです。また、CakePHP 2系はもうそろそろサポートが終了します。不味いですね。新しくしたい。

つまり、「新しい技術を実験的に投入するために作られたサイト」なのに、「古い技術の保守が辛くなってきた」という本末転倒な事になってます。新しくしたいですね。

また、てきめんを生み出したサイトです。再定義するためにも重要な案件となります。

どう変えていったのか

CakePHP 2系を4系でアップグレードするという選択をしました。このサイトはCakePHP 1.3系から2系へとアップグレードしているため、Laravelなども検討したのですが、結局はデータベースを合わせないといけないといけないので、CakePHP 4系へのアップグレードが自然だろうと思いました。

アップグレードとはどういうことかというと、このサイトの管理画面側はほとんどがbakeで作成されていたため、CakePHP 4でbakeを行い、ControllerとModel、templateを生成していきます。それにテンプレートを移植していってCakePHP 2系の画面と遜色ないようにしていきました。

特に、プレビュー画面があるのですが、このプレビュー画面は表側と同じような画面となっているので、ここがうまく生成されれば記事ページが完成したも同然だったりします。

このように、管理画面側を揃えていったら、表側のほうに着手しました。表側はどのようなページが有ったのか洗い出しのために表を作り、それに則って画面を作っていきました。これによってなんとか表側も揃ったので、CakePHP 2系で動いているものを削除し、CakePHP 4系に変えてgit-push、デプロイを行いました。

実はちょっとハマりました。これはtmpディレクトリの中身を読んでいたために、CakePHP 2系のキャッシュを読んでいるがためにおかしいことになっていたようです。なので、tmp/cacheディレクトリの内容をすべて削除しました。

とりあえずうまく動きました。良かった。

というわけでよろしくおねがいします。

また、ちょっとした懸案事項として、VPSが古すぎるので新しいプランに乗り換えたいと言うのがあります。ちょっとここのあたりは検討します。 これからも色々実験するための実験台にしていきたい。よろしくおねがいします。