> On 31 Oct 2014, at 02:54, Sherif Ramadan <theanomaly...@gmail.com> wrote:
> 
> So far there seems to be a lot of concern around BC, and particularly
> removing or getting rid of GPC superglobals. So I completely understand the
> concerns and hope to address them as clearly as possible.
> 
> First, for the sake of BC I think removing the superglobals from the
> language should not be done here. Instead, for performance reasons, I'm
> going to propose that the superglobals are not populated at the request
> level. This means that the implementation is free to populate them at will
> since they will still exist, but will be initialized to empty arrays by the
> language.

This is no less of a backwards-compatibility headache. This still breaks every 
PHP app I have ever written.

> 
> Second, it's a valid concern that's there's no actual proposed interface.
> So let me be begin by proposing a rough draft for one.
> 
> So let's consider the following interface layout and some sample
> implementations as a start...
> 
> https://gist.github.com/srgoogleguy/f729053e3e88b2d2b3ec
> 
> Then let's consider the kind of flexibility this would allow userland in
> terms of filtering, validating, and modifying the request data under
> various conditions. Obviously, PHP has to provide some form of default
> implementation so some base class HttpRequest can be implemented in PHP and
> this can be easily extended by userland.
> 
> Also, take into consideration the kind of performance gains you might get
> out of this by doing things like lazy-loading or lazy parsing or
> lazy-filtering of request data. Filters also need not be applied at the
> global level. PHP's default implementation would simply use the input
> stream to populate GPC as normal (as it currently does), but I believe
> introducing the base class will encourage others to make better use of
> request/response handling in their own code.

No no, I'm not concerned about the contents of the interface. I'm wondering 
what, exactly, this "interface" does? I don't see how a mere interface would 
replace the superglobals, unless you want a superglobal request object that 
anyone can swap out, which sounds like a bad idea.

--
Andrea Faulds
http://ajf.me/
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to