Re: $_PARAMETERS Super Global Object
| From: | Richard Lynch | Date: | Fri, 24 Feb 2012 21:23:15 +0000 |
| Subject: | Re: $_PARAMETERS Super Global Object | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-58025@lists.php.net to get a copy of this message | ||
On Wed, February 22, 2012 8:57 am, Michael Morris wrote:
> Before writing up a full RFC I want to put out a feeler on something.
> Currently we have several input parameter objects, chief among them
> $_GET, $_POST, $_REQUEST, $_SERVER (for the client HTTP headers). All
> of them are arrays and legacy code sometimes writes to them. Locking
> them as read only objects would cause a major BC break.
>
> What if instead we had an Object called $_PARAMETERS which holds the
> read only copies of this data. In addition, this would be the first
> superglobal object, able to perform some filtering of inputs. Basic
> idea..
>
> $_PARAMETERS
> ->get
> ->post
> ->cookie
> ->headers (The client http headers)
>
> All of these would be array objects, and all would be read only and
> have these methods and properties
>
> ->filtered: Copy of the array according to the current set filters of
> the object.
> ->setFilters(): Sets the filters of the input, an array with constant
> values for the allowed types.
>
> And I'll stop there. The basic idea, to add a read only input hive
> with some basic object functionality for filtering.
I can see how you would want this, but it seems to me that you can
code this easily enough in PHP, with a singleton class with private
read-only properties that initialize to the various $_XXX values, and
a filter method that employs PHP FILTER.
Personally, I think introducing a whole new feature to be maintained
and documented to save defining a couple simple classes and a page of
code is not a "win".
--
brain cancer update:
http://richardlynch.blogspot.com/search/label/brain%20tumor
Donate:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FS9NLTNEEKWBE