Am 25.03.2021 um 14:29 schrieb Mark Randall <marandall@php.net>:
> On 25/03/2021 09:28, Rowan Tommins wrote:
>> That's not quite what I meant. I meant that you can't say "capture by
>> default, but this variable is definitely local".
>
> I think if there's one argument against, this would be it, but IMHO it is a weakness in
> PHP as a whole.
I'm not sure if I misunderstand what you're saying but to me it is one of the greatest
things about PHP that everything is local by default (minus a narrow set of well-known and easily
enough recognizable things).
> The solution would be adding JS-like let / const statements. Which would be a benefit to other
> things too.
I disagree that this is the solution. I think JS had to add var and later let because of the
unfortunate decision to have C-like scoping rules.
Making scoping in PHP more complex to be able to repeat this mistake in some form seems ill-advised
to me.
- Chris