43 lines
665 B
PHP
43 lines
665 B
PHP
|
<?php
|
||
|
|
||
|
namespace alveolata\cookie;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @param string $string
|
||
|
* @return map<string,string>
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
*/
|
||
|
function decode(
|
||
|
$string
|
||
|
) : array
|
||
|
{
|
||
|
$parts = explode('; ', $string);
|
||
|
$stuff = [];
|
||
|
foreach ($parts as $part) {
|
||
|
$parts2 = explode('=', $part);
|
||
|
$stuff[$parts2[0]] = $parts2[1];
|
||
|
}
|
||
|
return $stuff;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @param map<string,string> $stuff
|
||
|
* @return string
|
||
|
* @author Christian Fraß <frass@greenscale.de>
|
||
|
*/
|
||
|
function encode(
|
||
|
array $stuff
|
||
|
) : string
|
||
|
{
|
||
|
$parts = [];
|
||
|
foreach ($stuff as $key => $value) {
|
||
|
$part = sprintf('%s=%s', $key, $value);
|
||
|
}
|
||
|
$string = implode('; ', $parts);
|
||
|
return $string;
|
||
|
}
|
||
|
|
||
|
?>
|