php_session という gem を書いた

何をする gem なのか

RubyからPHPのセッションファイルをいじりたいみたいなこと、あんまりないと思う。

でも、PHP で動いてる大きめのアプリケーションを Ruby に載せ変えたいね〜みたいなことはある気がする。一気に作っちゃってもいいんだけど、ちょっとずつ作っていって、できたところから順にデプロイして、できたところから順にトラフィックRubyのほうに振って行くみたいなことはあるかもしれない。

そういうときに、PHPの側でセッションの実装載せ変えちゃってもいいんだけど、歴史的経緯!!!!!で PHP の側のコードに手を入れるのが怖すぎるみたいなことがあるかもしれない。

だから Ruby から PHP のセッションファイルをいじりたい。

そんなめちゃめちゃニッチな需要に答える gem を書いた。

その名も php_session です。rubygems にももう上がってる。

担当する責務としては、PHP のセッションファイルの読み書き、destroy のみです。session_id の generate とか cookie 云々は Rack::Session の層でやるべきだよねみたいなのあるのでそこは触ってない。

今は file に書かれてること前提でアレしてるんだけど、memcached だとかそういうのもサポートできるようにすべきみたいな気がしているので、いつかそれもやりたい。

Rack::Session に載せれることを意識して書いたコードになってて、この gem を単体で触るってことはあんまりないんじゃないかなと思います。

今後の予定

  • Rack::Session::PHPSession というのを書く。
  • で、さらにそれを Rais で扱えるようにする。

よろしくおねがいします。