上級PHPコラム『「既存の改修」を目的にしたオブジェクト指向とプリペアドステートメントのインタフェース』(PHP上級試験対策)
こんばんは。PHP技術者認定機構の吉政でございます。
PHP技術者認定機構の認定スクールであるヒューマンリソシアが
私が企画した、古庄親方のPHPコラム『「既存の改修」を目的にしたオブジェクト指向とプリペアドステートメントのインタフェース』を公開しています。
怒涛の上級PHPコラムご紹介を毎日繰り返しています。なぜかというと、お正月休みは待望の勉強タイムですからw 仕事をしていると、仕事を優先するため、なかなか勉強する時間がないですよね。でも正月休みであれば、比較的まとまった時間を取れるので、本当に良い学習のチャンスと思っています。
###
前回に引き続き「改修」という実務的ネタを学びつつ「試験対策」を兼ねてみよう、という試みのコラム第二弾でございます。
とりあえず前回で「DBハンドルの定数があちこちに散らかっている状況」をどうにかするために、まず
は「PDOにおけるデータベースハンドルの取得を、クラス化することでDRYにする」状況を作りました。
次の一手は…分量にもよるのですが、個人的には次の手順をお勧めします。
・一端、PDO::queryで書き直して、まずは「DBアクセスは全てPDO経由」にする
・全体的にプリペアドステートメントで書き直す
・部分的な「「HTML用のエスケープ処理」をしてからDBに入れているレコード」に、個別に対応をしていく
このあたりは正直、ある程度「力技」ですね。UNIX系等で開発している場合、grepコマンドがこういう時に「びっくりするくらい」役に立ちますので、是非使ってみてください。
さて。力技部分は「がんばってもらう」よりほかないので。今回は「プリペアドステートメント」の、ちょっと技術的な部分に焦点を当てて、少し深掘りしていこうかと思います。
PHP上級試験用の教科書であるオライリー社の「プログラミングPHP」では、基本的にはPEAR::DB、付録的にPDOの話が出ています。
(この続きは以下のコラム本文をご覧ください)
http://resocia.jp/column/13/