> On 02 11 2014, at 01:33, Rowan Collins <rowan.coll...@gmail.com> wrote:
> 
> On 01/11/2014 22:24, Andrea Faulds wrote:
>> Perhaps it would be worth ditching any attempts to change setcookie() (just 
>> keep it around for backwards-compatibility), and to instead add a new 
>> function, function family, or indeed class for cookie handling. Some sort of 
>> sane API which would allow you to do a, b, or c, and make it clear which you 
>> wanted.
>> 
>> Thoughts? Any idea what such an API might look like?
> 
> That rather brings us back to this week's Hot Topic: HTTP response objects, 
> pecl/http, and PSR-7.
> 
> pecl/httpv2 has the http\Cookie class [1], which confusingly represents not a 
> single cookie, but a whole set of cookies. Exactly how you attach this to a 
> response is not really clear from the docs I can find.
> 

It it’s confusing, the docs are not good enough, and I probably have to agree 
here ;)
Anyway, http\Cookie can parse Cookie and Set-Cookie headers, though, looking at 
the RFC that might have been a bad idea to implement it that way.
Cookies never have been a main area of interest to me, so there might be a lot 
of room to improve in pecl/http.

Obviously, API for cookies is completely missing in the http\Env sub namespace, 
probably because there was $_COOKIE and set_cookie(), which may have covered my 
needs for it. Setting a cookie currently would mean just setting the 
appropriate Set-Cookie header on an http\Env\Response instance.

- - - 8< - - -
$ php -r '$r = new http\Env\Response; \
$r->setHeader("Set-Cookie", \
    ((new http\Cookie("foo=bar"))->setExpires(strtotime("+1 day")))); \
$r->send(STDOUT);’
 
HTTP/1.1 200 OK
Set-Cookie: foo=bar; expires=Mon, 03 Nov 2014 10:21:43 GMT; 
ETag: ""
- - - >8 - - -


> [1] http://devel-m6w6.rhcloud.com/mdref/http/Cookie 
> <http://devel-m6w6.rhcloud.com/mdref/http/Cookie>

Cheers,
Mike

Reply via email to