スポンサーサイト

一定期間更新がないため広告を表示しています

PHPのDB接続ライブラリを図でまとめてみた

JUGEMテーマ:PHP
 

PHPのDB接続ライブラリを図でまとめてみた

仕事のPHPコードで使用するDB接続ライブラリの移行をしなくちゃならないんだけど、
めちゃくちゃレガシーなコードで、
相当大規模な引越しになるっぽいので、
まずは現状を整理するために一旦図でまとめてみた。
 
何故移行をしなくてはならないのか?

理由は2つほどあって、
  • 使用しているMySQLのバージョンが古いのでマイグレーションした方が良さそうだから
  • PHP7で現在使っているライブラリが廃止されるから

ちなみにそのプロジェクトではMySQLを使用しているので、
それ以外のDBについては考慮してません。
(バージョン4.0以下です)

 

我ながら色使いひどいなー

現在使用している範囲が、モダンな環境にかすりすらしていない・・・。(白目

(コネクタ層の「MySQL」はデータベースの種類を誤解されそうなので以下「初代ライブラリ」と記述します。


コネクタ層以上の登場人物を簡単にまとめると・・・

現在のプロジェクトはこうなってる

初代ライブラリとPEAR::DBを使っている。
でもPEAR::DBはDB種類を抽象化するだけで、内部では初代ライブラリを使っている。
で、この初代ライブラリがPHP7で廃止なので、
こいつに依存しているものは全てMySQLiまたはPDOに引っ越さなければならない。


モダンなPHPでこうあるべき

基本的にはPDOを使うべき。
ただPDOではデータベース個別の細かい機能は提供できていなかったりするので、
そういう機能が必要ならMySQLiを使用する。


移行に当たってできれば実現したいこと

MySQLバージョンを本当に上げるかどうかはまだ決まってはいないけど、
仮にするとしたら以下の条件を実現することが必要になってくる。
  • サーバごとに古いMySQLと新しいMySQLが混在していても対応できるようにする
と、いうのも、扱っているサーバがたくさんあるので、
全てのサーバで完全同時にMySQLバージョンアップデート実行!ドーン!!
というわけにもいかないと思うから。
おそらく順番にバージョンを上げていくことになると思う。
なのでこのサーバは古いMySQL、こっちは新しいMySQLと、混在する状態がありうる。

スポンサーサイト

コメント