Re: Proposal for deprecate alternate syntax(curly braces) for array and string access
| From: | Kalle Sommer Nielsen | Date: | Fri, 15 Mar 2019 16:31:25 +0000 |
| Subject: | Re: Proposal for deprecate alternate syntax(curly braces) for array and string access | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-104755@lists.php.net to get a copy of this message | ||
Den fre. 15. mar. 2019 kl. 17.06 skrev Nikita Popov <nikita.ppv@gmail.com>:
> I'm okay with this. This syntax has already been deprecated once, though it
> was reverted for reasons I don't remember.
>
> There are some people using this syntax to distinguish between array and
> string access. It's a nice thought, but as the vast majority of code
> doesn't make this distinction (I think the only time I saw this in recent
> years was inside some old PEAR code), it's not really a useful indicator.
I personally use it because I like to quickly tell if I am doing an
operation on a string or array, it is eye candy and makes a lot of
sense. I think if anything the two syntaxes should be decoupled
instead.
From a usage PoV, then from personal experience (outside my own
projects), I have seen many usages of this syntax, even as late as my
current company with a growing codebase that is nearing 1.1m LoC, I
have seen this syntax used countless of times. In fact I don't think I
have been working with a code base where I have not seen this syntax
used.
I have asked fellow developers around in my community today and they
have no strong opinion on either, but do like the distinction between.
> The rarity of its use also makes it rather confusing. While $foo[$x] is
> well established as an array or string offset (or for that matter,
> ArrayObject) access and will be recognized by any programmer coming from
> any number of programming languages, $foo{$x} certainly is not, and is a
> WTF moment for people who don't happen to personally use this syntax.
>
> I'd prefer to phase out this syntax entirely and not reuse it for any other
> purpose. Reusing syntax is generally a not so good idea, because it means
> that the same syntax has different meaning in different PHP version.
For me personally it is a huge -1, if anything I would like the
string[] syntax decoupled.
--
regards,
Kalle Sommer Nielsen
kalle@php.net