Black Boxで公開されているCSS切り替えスクリプトをイジイジして、OOPの利点の1つであるカプセル化をより進めて書き直してみた。ちょこちょこっと細かい仕様も変更してあるが、動作自体はほぼ同じ。諸事情によりPHP5化してある。
RR103.phpsを読むと分かるが、改造前はStyleController.phpsの内部をいじる必要があった部分を全てインスタンス側で設定できるようになっている。これにより、
などの点が改善される。
ただ、この副作用として設定が若干面倒になるので(デフォルト値が有るのでそこまで酷くはならないが)、設定系のメソッドはコンストラクタにまとめても良いかもしれない。なお、機能の割に設定が面倒なのは、実際の所、OOPに向いていない内容だからだと思われる。これぐらい単機能で、使用される状況が限定されるスクリプトは、手続き型にガーっと書いてしまった方が速く安全な場合が多い。
日付を解析するためにlemmih.incから関数を1つ読んでいるが、それでもバグが介入する余地がないくらい単純だ。ちなみに、このスクリプトだと、共通のスタイルはCSSの@importで読み込み、スクリプトがCSSファイルの内容を直接吐いている。
http://yudai.arielworks.com/memo/2004/12/14/004230.trackback
末尾に「0 + 5」の計算結果を繋げて下さい。例えば計算結果が「17」の場合、「004230.trackback17」です。これは機械的なトラックバックスパムを防止するための措置です。