『「既存の改修」を目的にしたオブジェクト指向とプリペアドステートメントのインタフェース
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「既存の改修」を目的にしたオブジェクト指向とプリペアドステートメントのインタフェース」を公開しました。
前回に引き続き「改修」という実務的ネタを学びつつ「試験対策」を兼ねてみよう、という試みのコラム第二弾でございます。
とりあえず前回で「DBハンドルの定数があちこちに散らかっている状況」をどうにかするために、まずは「PDOにおけるデータベースハンドルの取得を、クラス化することでDRYにする」状況を作りました。
次の一手は…分量にもよるのですが、個人的には次の手順をお勧めします。
一端、PDO::queryで書き直して、まずは「DBアクセスは全てPDO経由」にする
全体的にプリペアドステートメントで書き直す
部分的な「「HTML用のエスケープ処理」をしてからDBに入れているレコード」に、個別に対応をしていく
このあたりは正直、ある程度「力技」ですね。UNIX系等で開発している場合、grepコマンドがこういう時に「びっくりするくらい」役に立ちますので、是非使ってみてください。
さて。
力技部分は「がんばってもらう」よりほかないので。今回は「プリペアドステートメント」の、ちょっと技術的な部分に焦点を当てて、少し深掘りしていこうかと思います。
PHP上級試験用の教科書であるオライリー社の「プログラミングPHP」では、基本的にはPEAR::DB、付録的にPDOの話が出ています。
書籍の初版が2007年なのでやむなしとは思うのですが、PEAR::DBは現在(というか大分前に)開発が止まってしまい、後続はPEAR::MDB2になっています。
幸い、PEAR::DBとPEAR::MDB2のインタフェースは似ておりますので、さほど弊害はないのですが。
以下、MDB2と書いてあるときはおおむね「あぁPEAR::DBも含むんだろうなぁ」という感じでご覧いただければ幸いです
この続きは以下をご覧ください
http://resocia.jp/column/13/
ソーシャルもやってます!