Re: [RFC] Pattern Matching

From: Date: Tue, 02 Dec 2025 06:52:14 +0000
Subject: Re: [RFC] Pattern Matching
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-129503@lists.php.net to get a copy of this message
On Tue, Dec 2, 2025, at 07:51, Rob Landers wrote: > On Mon, Dec 1, 2025, at 22:36, Larry Garfield wrote: >> Hi folks. Ilija and I would like to present our latest RFC endeavor, pattern matching: >> >> https://wiki.php.net/rfc/pattern-matching >> >> You may note the date on the RFC is from 2020. Yes, we really have had this one >> in-progress for 5 years. :-) (Though it was inactive for many of those years, in fairness.) >> Pattern matching was intended as the next follow up to Enums, as it's a stepping stone toward >> full ADT support.. However, we also feel it has enormous benefit on its own for simplifying complex >> comparisons. >> >> This RFC has been through numerous iterations, including a full implementation rewrite just >> recently that made a number of features much easier. We have therefore included two patterns that >> were previously slated for later inclusion but turned out to be trivially easy in the new approach. >> (Variable pinning and numeric comparison.) >> >> Nonetheless, there are two outstanding questions on which we are looking for feedback. >> >> Naturally given the timing, we will not be calling a vote until at least late January, >> regardless of how the discussion goes. So, plenty of time to express your support. :-) >> >> -- >> Larry Garfield >> larry@garfieldtech.com > > One thing I didn't see covered: accessing static variables in a class: > > class Point { > public static $origin = new Point(0,0,0); > } > > How do we pattern match to this? Is it the obvious Point::$origin? Same with class constants? > > — Rob I literally saw it just after sending the email and missed the "undo send" by milliseconds. Sorry for the noise. — Rob

« previous php.internals (#129503) next »