ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

Xhwlay-0.9.2をリリースしました。

木曜日、仕事でトラブった・・・のだけれど意外とすんなり終わったので、その深夜、0.9.2をリリースしたのを忘れてた。

Fix file locking problems in FileStoreContainer.php and change 'button' tags in "sample" code to 'input' normal submit button tags.
Add some features which make xhwlay's applications more secure, and add "sample2" example.

http://sourceforge.net/forum/forum.php?forum_id=786086
  • サンプルコードの中でIE系で思うように動かないbuttonタグを用いていた箇所を通常のinputボタンに修正しました。
  • ファイルストアの場合、内部でファイルをロックしていなかった為同時にアクセスした場合ファイル内容が壊れる可能性があったのを、flock()によりロックするよう修正しました。
  • ファイルストアの場合、BCIDの期限切れチェックと妥当性チェックをするようにしました。
    • 期限切れ:最後にアクセスした時刻からの秒数を超過していた場合はBCIDを再発行します。
    • 妥当性チェック:ファイルストアクラスのコンストラクタでパラメータに'identKeys'を指定することで、IPアドレスやセッションIDとのペアを比較して(より)正当(だと思われる)クライアントからのリクエストかチェックします。
  • 'identKeys'を用いたより安全(だと思われる)サンプルコードを"sample2"ディレクトリに追加しました。

という地味なリリースです。特にbuttonタグについては自分が阿保としか思えない・・・。IEでまともに動かしてなかったから。
只これで、おおよそ実用レベルに引き上げられたと思います。で、実際今とあるお仕事で使用中。
で、Xhwlayだけじゃ足りないのですが実に個人的な趣味の問題でやっぱり独自フレームワークを用意する羽目に。

xwt : Xhwlay Web application Template

CakePHPSymfonyを足して、2 100位で割った=機能劣化版です。いや、例により激しく使いやすいですヨ?
余計なDBマッパーは無いし(そもそも用意してない。PEAR_DBだろうがMDBだろうがADODBだろうが好きに用意して使ってくれ(w)、セッションは強制的に開始されるけどぶっちゃけXhwlayを使おうと使わなかろうと全く関係ない手抜きっぷり。単にモジュールのdispatcher.phpにコントローラでforwardしているだけ。dispatcher.phpの中では何しようと一切関知せず。Xhwlayを使おうが単にViewを表示してお仕舞いだろうが、何だったらCakePHPのエントリポイントにしようが何でもアリ。要するにエントリポイントがrequireするファイルは只のディスパッチャで、後は全部ユーティリティクラス。URLの構造も決め打ち(というかXhwlayでBCIDをURLに入れる為、流行の"?"を使わない構造に出来なかった)。

現在開発中の某仕事が落ち着いて、コードがまとまったら近日中にSVNにUPります。