SessionPhp.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /*
  3. * FecShop file.
  4. *
  5. * @link http://www.fecshop.com/
  6. * @copyright Copyright (c) 2016 FecShop Software LLC
  7. * @license http://www.fecshop.com/license/
  8. */
  9. namespace fecshop\services\session;
  10. use Yii;
  11. use fecshop\services\Service;
  12. use fecshop\models\mysqldb\SessionStorage;
  13. /**
  14. * php session services
  15. * @author Terry Zhao <2358269014@qq.com>
  16. * @since 1.0
  17. */
  18. class SessionPhp extends Service implements SessionInterface
  19. {
  20. public $timeout;
  21. public function init()
  22. {
  23. parent::init();
  24. $this->timeout = Yii::$app->session->timeout;
  25. }
  26. public function set($key, $val, $timeout)
  27. {
  28. if ($timeout) {
  29. $this->timeout = $timeout;
  30. Yii::$app->session->setTimeout($timeout);
  31. }
  32. return Yii::$app->session->set($key, $val);
  33. }
  34. public function get($key, $reflush)
  35. {
  36. return Yii::$app->session->get($key);
  37. }
  38. public function remove($key)
  39. {
  40. return Yii::$app->session->remove($key);
  41. }
  42. public function setFlash($key, $val, $timeout)
  43. {
  44. if ($timeout) {
  45. $this->timeout = $timeout;
  46. Yii::$app->session->setTimeout($timeout);
  47. }
  48. return Yii::$app->session->setFlash($key, $val);
  49. }
  50. public function getFlash($key)
  51. {
  52. return Yii::$app->session->getFlash($key);
  53. }
  54. public function destroy()
  55. {
  56. return Yii::$app->getSession()->destroy();
  57. }
  58. }