On Thu, Nov 27, 2025, at 8:43 AM, Rowan Tommins [IMSoP] wrote:
> On 27 November 2025 09:08:14 GMT, "Tim Düsterhus" <[email protected]> wrote:
>>For me the relevant keyword that indicates that the value is not used 
>>directly is not the 'as', but the 'each' part of the 'foreach'. Just by 
>>reading it as a English sentence, it becomes clear to me what is happening.
>>
>>The same is not true for me for `using (file_for_write('file.txt') as $fh)` 
>>or even worse `using (new Manager() as $notActuallyTheManager)` (which is 
>>part of the RFC).
>
>
> Hi Tim,
>
> Thanks for your thoughts. I will definitely go over your other email in 
> detail when I have some more time and energy, and update some of my 
> examples. 
>
> Regarding this point, I think it's a really interesting observation, 
> and I wonder if we should be looking for different keywords that read 
> more clearly. For instance: 
>
> using(new SomeManager() for $someResource)
>
> using($someResource from new SomeManager())
>
> context(new SomeManager() giving $someResource)
>
> Regards,
>
> Rowan Tommins
> [IMSoP]

We're very open to tweaking the keywords.  I can see the argument for "as" 
being a little misleading in PHP's case.  Though I'd prefer to have the EXPR 
first and VAR second, whatever the keyword is.

Another potential we thought of: Just plain =>.  It already doesn't imply 
equals, would have no keyword breaks, and is still only 2 characters.

using (new SomeManager() => $someResource) {
  // ...
}

Thoughts?

--Larry Garfield

Reply via email to