2015年11月08日記載
PHP7リリース直近、いつでもスタンバイOK
本コラムのサイトで初めて挑戦して作った自作PHP。アクティブページ化の実現を果たしてから4年以上もの間、放置し続けてきたが、このほどようやくバグ不具合の修正作業に着手し、さきほど、正しくキーワード検索できるように修正が完了した。

PHPプログラミングに挑戦した初期の頃は、自分のホームページの更新管理を動的に動作さえできればそれで十分としてきたのもあって、とりあえず最低限動作までこぎつけた後は、多少の動作不具合にも目をつぶり、そのまま数年間放置してきた。

熟練したプログラマでも、自分の書いたコードを1か月以上全く見なくなると、他人のコードと同じとも言われる世界なのに、プログラミングの基礎すらままならない自分が書いたコードともなれば、わずか数行程度のコードであったとしても、数年間も放置した後は自分で修正する力もなくなっているのだから、実に情けない。

幸いにしてこの半年間、プライベートでもビジネスでもWebアプリ作成に携わる時間が連続して取れたこともあり、自分で言うのもおこがましいが、一般的な挙動を目指す程度のWebアプリなら、それなりの時間さえあればゼロから作れるまでのプログラミングスキルがついたと自負している。

最大の自信となったのは、最近作ったページ送り機能の自作Classファイルである。検索機能を実装すると、検索結果の件数が多数になるようなケースは、一度に表示する件数を絞る必要がある。当然そこに機能として求められるのが次ページリンクの実装ということになる。

単純に「前へ」と「後へ」だけのリンクだけなら、さほど頭を悩ます必要もないが、Google検索の下に出てくるようなページ番号リンクもセットに付けたいともなると、案外面倒なコードを書かなければ実現できない。

自分でゼロから考えようとすると頭の中から煙が吹き出すので、他人の書いたクラスファイルの利用も考えたことも一時あった。しかしページ送り機能は、値の受け渡しの種類が多いのに加えて、他人の作った機能は、自分がイメージしている通りの挙動になってくれないことも多く、他人のコードを改造するぐらいならやっぱりゼロから自作を目指すしかないと考えていた。

そんなページ送り機能のクラスファイル作成。取り掛かってから丸2日間苦しんでようやく完成した。現在も自分の書いたコードなのに中身をみると頭の中が混乱するほどややこしいコードになってしまったのは情けない限りだが、とにかく一度クラス化作業さえ終わってしまえば、その後の実装はとても簡単にできるので実に便利である。まさにオブジェクト思考プログラミングの必要性を実感する瞬間だった。

ある程度スキルがついた今、改めて自分のホームページの動的処理部を見直してみると、不具合が多く、検索結果もきちんとで表示すら出ない呆れるほどのバグだらけのソースコードだったため、本日、腰を据えて全面的に修正を実施した。現在は安定してキーワード検索(スペース区切りの複数ワードにも対応)と、カテゴリ検索まできちんと表示できるように修正を行った。

来週あたりには10年ぶりにPHPがメジャーバージョンアップする。すでに配布されているRC6版をinfobuild.jpサーバにもインストールし、本サイトの動作はもちろん、過去自分が書いたソースコードすべて動作するかも確認が完了した。もう、いつでもPHP7がリリースされようともスタンバイOK状態となっている。

PHP7の最大のインパクトはmysql関数が使えなくなったことだ思う。データベース接続には、mysqliかPDO接続のいずれかしかできなくなった。pearも使えると思うが、もう古い接続手法だし、動作も遅いのもあって、これから私のようにプログラミングを始めるビギナーたちにとっては、PHP7リリースに合わせた学習がベストだと考える。

いずれにしても、ずっと放置していた当サイトの検索機能のバグとページ送り機能は、いずれもPHP7で正しく動作するよう、ゼロから整備しなおしたことを報告しておこう。


コラムワード検索
表示件数
ワード検索
本コラムに関する意見
Twitterにて受け付けます @megahit_jp