いやはや、中々儘ならぬものと言うか、コーディングでよくあるのはうっかりミスである。
今回の、make_update_list高速化計画こと、caching(って言うのかな…)しようぜ!計画は、一応成功裏に終わったのであるが、躓いた所を列挙してみよう。
- OSの違いに泣くある程度の部分はローカルでテストをしたのだが、前にも書いたと思うが私の環境はWinXP+Apache2.2+PHP5.2+MySQL5.0である。Unixと違ってパーミッションが無くて云々て言う話は前もしたような気がする。今回はfilemtimeなる関数を使おうとしたのだが、これはWinでは実装されていないそうだ。ダメか。ついでにmb関数群もダメらしい。それは無いだろ。おいおい。という訳で、結局ローカルではプラグイン丸ごとの試験は出来なかったorz
これはUnixマシンを所有せよとの神のお告げか!?(どーゆー神だ&金はあるのか) - array_splice()は中々曲者であるというのも、添え字が保存されないので、foreach($array as $key => $element)の中で呼ぶと、array_splice()した部分以降の、$keyと$elementの関係がずれてしまうらしいのだ。あるいは、条件式で( $number && $x != 1)みたいなことをやったのだが、つまり$numberが0か空ではなく、しかも別の変数$xが1でないという条件式なのだが、これが意図した通りに解釈されなかった可能性もある。ちゃんと切り分けて実証はしていない。とにかくarray_spliceするループを分離してしまったら収まったので、それでよしとした。
- 定義リストを閉じ忘れたトップページのソースを見てもらえば分かるが、”ゼミ生ブログ集”の部分は、DIVタグで囲われた定義リスト(DL)になっている。んで定義リストを閉じる部分を吐き出し忘れた(てへ)。直ぐ気付いたが…。
- パスを間違えたのに気付かなかった。キャッシュを保存しているのだが、いくらやっても上手く保存できている様子が無い。この間実験した時には上手く行ったのに、何がいけないんだ…と頭を抱えていたら、スラッシュが一本足りず、存在しないディレクトリにあるファイルを開こうと頑張っていた。そらー開きませんわ。書き込めませんわ。
あとは、データベース上のブログオプションに、一部のデータを保存したくて、この間も紹介した我等がバイブルを参照していたのだが、そこでget_last_updated()なる関数を発見してしまったorz
コレ、私が苦労してデータベースにクエリ発行して取得していた情報を取ってくる関数じゃありませんか。徒労感が…。
とは言え、幾つかのデータは結局データベースにアクセスしないと、用意された関数群からでは取得できそうに無い(?)ので、まぁいいかと自分を慰めています。ハイ。或いは灰。
まぁそもそもこの関数を見つけられたのだって、関数名と引数を見れば大体どんな関数なのか見当がつくという、WPMU(あるいはWP)での命名作法に慣れてきた証ではあります。喜びましょう。悲しみましょう。
これできっと恐らく多分(随分自信ないんだな)、ブログが更新された直後にKENBUNDENトップを訪れた不運な人意外は、キャッシュされたデータでリストが作成されるので、随分表示が速くなる…といいなぁ…。
オマケ:この記事の投稿に使っているstrongタグの閉じタグを、一箇所storngと表記してしまって、変な投稿をしてしまったのは内緒である。