The way _GET and friends are implemented is the most efficient way of doing 
it as it is taken care at compile-time.
For the same reason in Engine 2 you can't indirectly reference $this (which 
shouldn't bother anyone).
Over time people won't have to support versions below 4.1.0 anymore.
In the meanwhile I suggest you keep on using $HTTP_*_VARS until you find 
that you can move to _GET.
I don't want to screw up the implementation and performance of _GET for BC. 
If you need BC you should stick to the old ones that is why they have been 
left behind.

Andi

At 15:32 19/04/2002 -0500, Lux wrote:
>On Fri, 2002-04-19 at 15:08, Zeev Suraski wrote:
> > At 21:18 19/04/2002, Lux wrote:
> > >One other quick question:  Can you make references to the superglobals,
> > >then call these as "variable variables"?
> >
> > Yes.
> >
> > Can you explain when you need to use these global structures indirectly?
>
>Sure!
>
>In an effort to be compatible with PHP 4.0.6 and under as well as
>4.1.0+, I found myself using the following code more than once:
>
>if (PHP_VERSION < '4.1.0') {
>   // use $HTTP_*_VARS
>} else {
>   // use $_* vars
>}
>
>While I know I can still use the $HTTP_*_VARS in all new versions of
>PHP, the docs on php.net stated that these were deprecated, so I am
>preparing for versions that didn't have them by starting to move towards
>the new variables now.  But I can't ditch the $HTTP_*_VARS way
>completely for a while still, because there are a lot of PHP users still
>running 4.0.6.  So I thought of a method of only having to code this if
>statement once, which was:
>
>if (PHP_VERSION < '4.1.0') {
>   define ('_GET', 'HTTP_GET_VARS');
>   define ('_POST', 'HTTP_POST_VARS');
>   // etc.
>} else {
>   define ('_GET', '_GET');
>   define ('_POST', '_POST');
>   // etc.
>}
>
>Now I can refer to the appropriate values automatically by saying
>${_GET} or ${_POST}, which is only two characters off from using the new
>syntax, so it's nice and simple.  The only catch here is that in any
>block that I use these, I have to call global $HTTP_*_VARS first to
>whichever I use, otherwise it keeps my code nice and clean.
>
>Reasons aside though, we are talking about an inconsistency in the way
>PHP handles these new "superglobals", one that makes them look and feel
>and act (for the most part) just like ordinary variables, but makes them
>differ in small but potentially problematic ways.  Using my method works
>in the global namespace, but once you enter another it fails.  This
>sounds like a pretty clear bug to me, not something to be excused as "we
>meant for it to be that way".  Nobody plans to add tiny inconsistencies;
>those only make peoples' lives more difficult.
>
>Lux
>
> >
> > Zeev
> >
> >
> >
>
>
>
>--
>PHP Development Mailing List <http://www.php.net/>
>To unsubscribe, visit: http://www.php.net/unsub.php


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to