# $_GET['a.b.c']

- Thread: https://externals.io/message/42594
- Original archive: https://news-web.php.net/php.internals/42594
- Started by troels knak-nielsen on 2009-01-13T09:32:49+00:00
- Messages: 7
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #42594 — troels knak-nielsen — 2009-01-13T09:32:49+00:00

URL: https://externals.io/message/42594#42594

In a recent mail, some kind of issue regarding queryparams was
mentioned (Possibly related to namespaces). Could anybody explain what
the issue is, or point to where it's discussed?


> - I guess we are not going to deal with "foo.php?a.b.c = 10" in 5.3.0
> (should we put something on the 6.0 todo list for this?)

--
troels

---

## #42595 — Alexey Zakhlestin — 2009-01-13T10:09:20+00:00

URL: https://externals.io/message/42594#42595 · In reply to: #42594

On Tue, Jan 13, 2009 at 12:32 PM, troels knak-nielsen
<troelskn@gmail.com> wrote:
> In a recent mail, some kind of issue regarding queryparams was
> mentioned (Possibly related to namespaces). Could anybody explain what
> the issue is, or point to where it's discussed?

Currently, php replaces dots in paramter-names with underscores. This
is a legacy of register_globals.
As register_globals still can be enabled in 5.3, it is better to leave
this replacement for consistency reasons (you can't have $a.b.c
variable).
In 6.0, on the other hand, register_globals is not available. So, it
doesn't make sense to have replacement there too.

5.3 is left with status-quo:
?a.b.c=10  =>  $a_b_c, $_GET['a_b_c']

6.0 will have:
?a.b.c=10  =>  $_GET['a.b.c']

> 
> > […]


-- 
Alexey Zakhlestin
http://www.milkfarmsoft.com/

---

## #42596 — Stefan Walk — 2009-01-13T10:22:47+00:00

URL: https://externals.io/message/42594#42596 · In reply to: #42595

> On Tue, Jan 13, 2009 at 12:32 PM, troels knak-nielsen
> <troelskn@gmail.com> wrote:
> > […]
>
> Currently, php replaces dots in paramter-names with underscores. This
> is a legacy of register_globals.
> As register_globals still can be enabled in 5.3, it is better to leave
> this replacement for consistency reasons (you can't have $a.b.c
> variable).
> In 6.0, on the other hand, register_globals is not available. So, it
> doesn't make sense to have replacement there too.
>
> 5.3 is left with status-quo:
> ?a.b.c=10  =>  $a_b_c, $_GET['a_b_c']
>
> 6.0 will have:
> ?a.b.c=10  =>  $_GET['a.b.c']

I think there should be a period where both methods of access are  
possible, allowing for smoother transition.

Best regards,
Stefan

---

## #42597 — david.zuelke@bitextender.com — 2009-01-13T10:36:26+00:00

URL: https://externals.io/message/42594#42597 · In reply to: #42595

Am 13.01.2009 um 11:09 schrieb Alexey Zakhlestin:

> On Tue, Jan 13, 2009 at 12:32 PM, troels knak-nielsen
> <troelskn@gmail.com> wrote:
> > […]
>
> Currently, php replaces dots in paramter-names with underscores. This
> is a legacy of register_globals.

Sure? "foo|bar", "foo-bar" etc. don't get the same treatment...

---

## #42599 — Stefan Walk — 2009-01-13T10:42:42+00:00

URL: https://externals.io/message/42594#42599 · In reply to: #42597

> Am 13.01.2009 um 11:09 schrieb Alexey Zakhlestin:
>
> > […]
>
> Sure? "foo|bar", "foo-bar" etc. don't get the same treatment...

Yes, but those are chosen knowing the consequences - for <input  
type="image" name="foo" ...>, you get foo.x and foo.y from the  
browser, and those aren't accessible via register_globals.

Best regards,
Stefan

---

## #42600 — Derick Rethans — 2009-01-13T12:09:40+00:00

URL: https://externals.io/message/42594#42600 · In reply to: #42599

> 
> 
> > […]
> 
> Yes, but those are chosen knowing the consequences - for <input type="image"
> name="foo" ...>, you get foo.x and foo.y from the browser, and those aren't
> accessible via register_globals.

Sure they are, through foo_x and foo_y.

regards,
Derick

-- 
http://derickrethans.nl | http://ezcomponents.org | http://xdebug.org
twitter: derickrethans

---

## #42609 — Brian Moon — 2009-01-13T16:01:01+00:00

URL: https://externals.io/message/42594#42609 · In reply to: #42595

> In 6.0, on the other hand, register_globals is not available. So, it
> doesn't make sense to have replacement there too.
>
> 5.3 is left with status-quo:
> ?a.b.c=10  =>   $a_b_c, $_GET['a_b_c']
>
> 6.0 will have:
> ?a.b.c=10  =>   $_GET['a.b.c']

What about the `extract()` and import_request_variables() functions?  Will 
it still do the replacement?  I foresee a lot of stop gap solutions 
using those functions to get around register_globals.  Not saying it is 
right, just curious.

-- 

Brian Moon
Senior Web Engineer
------------------------------
When you care enough to spend the very least.
http://dealnews.com/
