EthnaのSession
PHPのEthnaフレームワークを使ったシステムと
セッションデータを連携させるPHPを作らないといけなくて、、
普通に、$_SESSIONでやっても、データが取れなくて、
Ethnaのソースコードを1時間眺めてやっとで解決。
Ethnaでは以下の順番でEthna_ActionClassのsessionがセットアップされるみたい。
- Ethna_Controller::_getAction()
- Ethna_ClassFactory::getObject()
- Ethna_ClassFactory::_getObject_Session
- Ethna_Session
で、セッションに関して以下の設定がなされるみたい。
session_save_path(コントローラで設定するtmpディレクトリ);
session_name(コントローラの$plugin_search_appidsで定義したappid . "SESSID");
session_cache_limiter('private, must-revalidate');
多分、セッションの保存の仕方を柔軟にしたり、
Javaっぽいオブジェクト指向プログラミングをする為に、
わざわざ$_SESSIONをEthna_ActionClassに入れてるんだろうけど、
こんな記述のせいで、Ethna以外の開発環境のPHPとの連携が大変。。。。
Ethna、使ったこと無いけど、
色んな機能が盛りだくさんで、勉強が大変そう。。
オープンソースのフレームワークは柔軟な代わりに、システムで使わない機能が多くて、複雑になっちゃうなと思って、、
調べてはみるものの、実際には使わなくなっちゃいました。。