Cookie.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace app\common\helpers;
  3. use Yii;
  4. class Cookie
  5. {
  6. static function getInitCls()
  7. {
  8. static $initCls = NULL;
  9. if(!isset($initCls)) $initCls = new Cookie();
  10. return $initCls;
  11. }
  12. //设置cookie
  13. public static function setCookie($name,$value,$expire=0)
  14. {
  15. ob_clean();
  16. $cookies = Yii::$app->response->cookies;
  17. $args = [
  18. 'name' => $name,
  19. 'value' => $value,
  20. ];
  21. if(!empty($expire))
  22. {
  23. $args['expire'] = TIMESTAMP+$expire;
  24. }
  25. if(defined('COOKIE_DOMAIN')&&COOKIE_DOMAIN!='')
  26. {
  27. $args['domain'] = COOKIE_DOMAIN;
  28. }
  29. $cookies->add(new \yii\web\Cookie($args));
  30. return true;
  31. }
  32. //读取cookie值
  33. public static function getCookie($name)
  34. {
  35. $cookies = Yii::$app->request->cookies;
  36. return $cookies->getValue($name);
  37. }
  38. //销毁cookie
  39. public static function deleteCookie($name)
  40. {
  41. if(defined('COOKIE_DOMAIN')&&COOKIE_DOMAIN!='')
  42. {
  43. $cookie = new \yii\web\Cookie([
  44. 'name' => $name,
  45. 'domain' => COOKIE_DOMAIN,
  46. ]);
  47. Yii::$app->response->cookies->remove($cookie);
  48. }
  49. else
  50. {
  51. $cookies = Yii::$app->response->cookies;
  52. unset($cookies[$name]);
  53. }
  54. }
  55. }