> Den 15. jun. 2026 kl. 19.23 skrev Sarina Corrigan <[email protected]>:
> 
> 
> It may be worth mentioning that within the Pattern Matching RFC future scope, 
> and mentioned a couple times within the discussion thread for the RFC, there 
> is a similar proposal that would allow for this without using specific 
> literal types.
> 
> It's outlined in 
> https://github.com/Crell/php-rfcs/blob/master/pattern-matching/future.md 
> under "Parameter or return guards"
> 
> It would allow for:
> 
> ```
> function setLogLevel (string $level is 'debug' | 'info' | 'warning' | 
> 'error'): void {}
> ```
> 
> Of course, I don't think that a potential future scope of an in-draft RFC is 
> reason to dismiss a more direct implementation of literal scalar types, but 
> it may be useful to compare other ways we could achieve the same 
> functionality. I personally find pattern matching within parameter/return 
> types more versatile while keeping direct typing system more simplified. 
> Specifically for a range feature that Ben Ramsey brought up, pattern matching 
> for parameters seems much more appropriate.
> 
> All that being said, I would gladly welcome literal scalar types.
> 
>> On Sun, Jun 14, 2026, 21:24 Seifeddine Gmati <[email protected]> 
>> wrote:
>> Hello Internals,
>> 
>> I'd like to start the discussion on a new RFC adding literal scalar
>> types to PHP.
>> 
>> - RFC: https://wiki.php.net/rfc/literal_scalar_types
>> - Implementation: https://github.com/php/php-src/pull/22314
>> 
>> Thanks,
>> Seifeddine.

Hi,
This sounds very promising. But I would be confused about receiving a TypeError 
when just the value of the parameter is wrong.

As described in the RFC if I send 4 to a parameter that could only be 1, 2 or 
3. I would expect a TypeError if I sent “abc” ?

Kind regards
Lars Nielsen

Reply via email to