Fold All / Expand All

2016年3月1日 星期二

PHP Session Library

Zebra_Session
http://stefangabos.ro/php-libraries/zebra-session/
https://github.com/stefangabos/Zebra_Session

Session Class of MicroMVC framework
https://github.com/Xeoncross/micromvc/blob/c2eb579463f9462a3aa941d91d4f85ecd0551e81/libraries/session.php

一種方式是自己另外寫 class 包 session get/set,缺點就是原本已經利用 $_SESSION 寫法的就要改的很痛苦。

如果要直接沿用 $_SESSION 寫法的話,就是透過 PHP 的 session_set_save_handler()
http://php.net/manual/en/function.session-set-save-handler.php

要自行實作6個 function

  • close
  • destroy
  • gc
  • open
  • read
  • write
也就是最上面兩個的實作方式

從 PHP 5.4.0 開始,也可以實作 SessionHandlerInterface 介面,同樣是那6個 function

需要注意的是 locking 機制要自行實作,而一些 db based session handler 的範例,寫得很簡單,沒考慮到 SQL injection 也需要注意

沒有留言: