過去ログを読み直した結果、リファクタリングというほどのことはありませんが、
ちょっといろいろと考えが変わったというかまとまった部分があります。
当初、私が考えたのは、全ての過去ログのファイル番号と開始年月と終了年月を1つ
のファイルに書き出して、そいつをインクルードする、というものでした。おそらく
画面上での表示が横一列ということに引きずられて、1つのファイルということを
考えていました。
ただ、前にも述べたとおり、一番新しい過去ログは日付が変わる可能性があるわけ
ですよね。そうすると、その出力された外部ファイルの一部、おそらく先頭の部分
になるかと思いますが、一番新しい過去ログのデータを頻繁に書き換える必要が
出てくる。もちろん、それは可能です。実際、現行ログの一番先頭の部分は頻繁に
書き換えられているわけですから。ただ、やっぱりなんか面倒な感じ。
さらに、過去ログが増えて、例えば新しく28番ができました、なんて場合の処理
はどうすればいいか、というところでおつむが破綻。
そこで考えたのが#11752。
つまり、一部だけ書き換えるのではなく、全過去ログを読んで全部書き出す、と
いうようにすれば、一部だけ書き換えるという面倒くささはなくなるよね、という
わりと鬼のようなアルゴリズム。
だけど、全ての過去ログのファイル番号と開始年月と終了年月を1つのファイルに
する必要はないんだ、ということに気がつきました。
すなわち、1つのファイルには1つの過去ログの開始年月と終了年月だけ。
表示する時は、順番に読んで表示するだけだからループ。そのときに<br>タグを
使わなければ、きちんと横に並んでくれる。
そして、ファイルを作る時は、直近というか一番最後の過去ログだけ全部読み込んで
開始と終了の年月を読んでファイルに書き出すだけ。
なんだ、結構簡単じゃない。
って、思いつけば簡単だけど、というパターンかな。