annotate vendor/jcalderonzumba/gastonjs/src/Cookie.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Zumba\GastonJS;
Chris@0 4
Chris@0 5 /**
Chris@0 6 * Class Cookie
Chris@0 7 * @package Zumba\GastonJS
Chris@0 8 */
Chris@0 9 class Cookie {
Chris@0 10 /** @var array */
Chris@0 11 protected $attributes;
Chris@0 12
Chris@0 13 /**
Chris@0 14 * @param $attributes
Chris@0 15 */
Chris@0 16 public function __construct($attributes) {
Chris@0 17 $this->attributes = $attributes;
Chris@0 18 }
Chris@0 19
Chris@0 20 /**
Chris@0 21 * Returns the cookie name
Chris@0 22 * @return string
Chris@0 23 */
Chris@0 24 public function getName() {
Chris@0 25 return $this->attributes['name'];
Chris@0 26 }
Chris@0 27
Chris@0 28 /**
Chris@0 29 * Returns the cookie value
Chris@0 30 * @return string
Chris@0 31 */
Chris@0 32 public function getValue() {
Chris@0 33 return urldecode($this->attributes['value']);
Chris@0 34 }
Chris@0 35
Chris@0 36 /**
Chris@0 37 * Returns the cookie domain
Chris@0 38 * @return string
Chris@0 39 */
Chris@0 40 public function getDomain() {
Chris@0 41 return $this->attributes['domain'];
Chris@0 42 }
Chris@0 43
Chris@0 44 /**
Chris@0 45 * Returns the path were the cookie is valid
Chris@0 46 * @return string
Chris@0 47 */
Chris@0 48 public function getPath() {
Chris@0 49 return $this->attributes['path'];
Chris@0 50 }
Chris@0 51
Chris@0 52 /**
Chris@0 53 * Is a secure cookie?
Chris@0 54 * @return bool
Chris@0 55 */
Chris@0 56 public function isSecure() {
Chris@0 57 return isset($this->attributes['secure']);
Chris@0 58 }
Chris@0 59
Chris@0 60 /**
Chris@0 61 * Is http only cookie?
Chris@0 62 * @return bool
Chris@0 63 */
Chris@0 64 public function isHttpOnly() {
Chris@0 65 return isset($this->attributes['httponly']);
Chris@0 66 }
Chris@0 67
Chris@0 68 /**
Chris@0 69 * Returns cookie expiration time
Chris@0 70 * @return mixed
Chris@0 71 */
Chris@0 72 public function getExpirationTime() {
Chris@0 73 //TODO: return a \DateTime object
Chris@0 74 if (isset($this->attributes['expiry'])) {
Chris@0 75 return $this->attributes['expiry'];
Chris@0 76 }
Chris@0 77 return null;
Chris@0 78 }
Chris@0 79 }