> Le 13 janv. 2026 à 23:19, Larry Garfield <[email protected]> a écrit :
> 
> On Tue, Nov 4, 2025, at 2:13 PM, Larry Garfield wrote:
>> Arnaud and I would like to present another RFC for consideration: 
>> Context Managers.
>> 
>> https://wiki.php.net/rfc/context-managers
>> 
>> You'll probably note that is very similar to the recent proposal from 
>> Tim and Seifeddine.  Both proposals grew out of casual discussion 
>> several months ago; I don't believe either team was aware that the 
>> other was also actively working on such a proposal, so we now have two. 
>> C'est la vie. :-)
>> 
>> Naturally, Arnaud and I feel that our approach is the better one.  In 
>> particular, as Arnaud noted in an earlier reply, __destruct() is 
>> unreliable if timing matters.  It also does not allow differentiating 
>> between a success or failure exit condition, which for many use cases 
>> is absolutely mandatory (as shown in the examples in the context 
>> manager RFC).
>> 
>> The Context Manager proposal is a near direct port of Python's 
>> approach, which is generally very well thought-out.  However, there are 
>> a few open questions as listed in the RFC that we are seeking feedback 
>> on.
>> 
>> Discuss. :-)
> 
> Hi folks.  The holidays are over, so we're back on Context Managers.
> 
> [...]
> 
> 
> --Larry Garfield


Hi,

Just a small question. What happens when an `exit`/`die` instruction is 
executed inside a `using` block? Is the relevant `exitContext()` handler 
invoked, just like for an early `return` or `break`?

This is probably self-evident, but it is worth to state it explicitly, because, 
for some hysterical reason, relevant `finally` blocks are *not* executed with 
`exit`.


—Claude

Reply via email to