src/Cookie.php
public static function parse($cookieHeader) {
		if (empty($cookieHeader)) {
			return null;
		}

		if (\preg_match('/^' . self::HEADER_PREFIX . '(.*?)=(.*?)(?:; (.*?))?$/i', $cookieHeader, $matches)) {
			$cookie = new self($matches[1]);
			$cookie->setPath(null);
			$cookie->setHttpOnly(false);
			$cookie->setValue(
				\urldecode($matches[2])
			);
			$cookie->setSameSiteRestriction(null);

			if (\count($matches) >= 4) {
				$attributes = \explode('; ', $matches[3]);

				foreach ($attributes as $attribute) {
					if (\strcasecmp($attribute, 'HttpOnly') === 0) {
						$cookie->setHttpOnly(true);
					}
					elseif (\strcasecmp($attribute, 'Secure') === 0) {
						$cookie->setSecureOnly(true);
					}
					elseif (\stripos($attribute, 'Expires=') === 0) {
						$cookie->setExpiryTime((int) \strtotime(\substr($attribute, 8)));
					}
					elseif (\stripos($attribute, 'Domain=') === 0) {
						$cookie->setDomain(\substr($attribute, 7));
					}
					elseif (\stripos($attribute, 'Path=') === 0) {
						$cookie->setPath(\substr($attribute, 5));
					}
					elseif (\stripos($attribute, 'SameSite=') === 0) {
						$cookie->setSameSiteRestriction(\substr($attribute, 9));
					}
				}
			}

			return $cookie;
		}
		else {
			return null;
		}
	}
public static function parse($cookieHeader) {
		if (empty($cookieHeader)) {
			return null;
		}

		if (\preg_match('/^' . self::HEADER_PREFIX . '(.*?)=(.*?)(?:; (.*?))?$/i', $cookieHeader, $matches)) {
			$cookie = new self($matches[1]);
			$cookie->setPath(null);
			$cookie->setHttpOnly(false);
			$cookie->setValue(
				\urldecode($matches[2])
			);
			$cookie->setSameSiteRestriction(null);

			if (\count($matches) >= 4) {
				$attributes = \explode('; ', $matches[3]);

				foreach ($attributes as $attribute) {
					if (\strcasecmp($attribute, 'HttpOnly') === 0) {
						$cookie->setHttpOnly(true);
					}
					elseif (\strcasecmp($attribute, 'Secure') === 0) {
						$cookie->setSecureOnly(true);
					}
					elseif (\stripos($attribute, 'Expires=') === 0) {
						$cookie->setExpiryTime((int) \strtotime(\substr($attribute, 8)));
					}
					elseif (\stripos($attribute, 'Domain=') === 0) {
						$cookie->setDomain(\substr($attribute, 7));
					}
					elseif (\stripos($attribute, 'Path=') === 0) {
						$cookie->setPath(\substr($attribute, 5));
					}
					elseif (\stripos($attribute, 'SameSite=') === 0) {
						$cookie->setSameSiteRestriction(\substr($attribute, 9));
					}
				}
			}

			return $cookie;
		}
		else {
			return null;
		}
	}
public static function parse ( $ cookieHeader ) { if ( empty ( $ cookieHeader ) ) { return null ; } if ( \ preg_match ( '/^' . self :: HEADER_PREFIX . '(.*?)=(.*?)(?:; (.*?))?$/i' , $ cookieHeader , $ matches ) ) { $ cookie = new self ( $ matches [ 1 ] ) ; $ cookie -> setPath ( null ) ; $ cookie -> setHttpOnly ( false ) ; $ cookie -> setValue ( \ urldecode ( $ matches [ 2 ] ) ) ; $ cookie -> setSameSiteRestriction ( null ) ; if ( \ count ( $ matches ) >= 4 ) { $ attributes = \ explode ( '; ' , $ matches [ 3 ] ) ; foreach ( $ attributes as $ attribute ) { if ( \ strcasecmp ( $ attribute , 'HttpOnly' ) === 0 ) { $ cookie -> setHttpOnly ( true ) ; } elseif ( \ strcasecmp ( $ attribute , 'Secure' ) === 0 ) { $ cookie -> setSecureOnly ( true ) ; } elseif ( \ stripos ( $ attribute , 'Expires=' ) === 0 ) { $ cookie -> setExpiryTime ( ( int ) \ strtotime ( \ substr ( $ attribute , 8 ) ) ) ; } elseif ( \ stripos ( $ attribute , 'Domain=' ) === 0 ) { $ cookie -> setDomain ( \ substr ( $ attribute , 7 ) ) ; } elseif ( \ stripos ( $ attribute , 'Path=' ) === 0 ) { $ cookie -> setPath ( \ substr ( $ attribute , 5 ) ) ; } elseif ( \ stripos ( $ attribute , 'SameSite=' ) === 0 ) { $ cookie -> setSameSiteRestriction ( \ substr ( $ attribute , 9 ) ) ; } } } return $ cookie ; } else { return null ; } }
Parses the given cookie header and returns an equivalent cookie instance

@param string $cookieHeader the cookie header to parse
@return \Delight\Cookie\Cookie|null the cookie instance or `null`
Parses the given cookie header and returns an equivalent cookie instance