On Thu, Feb 13, 2025, at 8:16 AM, Tim Düsterhus wrote:
> Hi
>
> Am 2025-02-12 22:31, schrieb Larry Garfield:
>> I'm still undecided on the RFC overall, but one thing that is 
>> problematic is the phrasing of the messages.  Currently, the messages 
>> in the attribute are fragments of an English sentence, seemingly 
>> designed to fit grammatically with a sentence fragment that is coded 
>> into the engine somewhere but not readily available to developers.
>
> Yes, the implementation of the error message very closely matches that 
> of #[\Deprecated] (except that there is no `since` bit to insert).
>
>> From my phrasing I think you can guess my opinion of that.
>> 
>> That is impossible to document cleanly for English speakers.  It will 
>> not translate at all for anyone who is writing in a non-English 
>> language (which people do).  People are going to get it wrong more than 
>> they get it right, in any language.
>> 
>> Instead, the wording should be structured to be a complete sentence, 
>> and the built-in message updated to make that logical.  That gives the 
>> developer much more freedom to write a meaningful, 
>> contextually-relevant message in the language of their choice.
>
> We're open to adjusting that. Do you have any suggestions? The 
> implementation of #[\Deprecated] works like it does, because PHP itself 
> already doesn't end the error messages with a `.`, as it appends `in 
> file.php on line 42`. This makes it inconvenient to have more than one 
> sentence in an error message, which is why we're struggling with coming 
> up with something better.
>
> Best regards
> Tim Düsterhus

Just spitballing:

"Return value of foo() is not used, on foo.php line 5: <user text here>"

Fiddle with the wording as needed, but by having a colon and then the user 
text, it makes it clear it's a separate statement, and can be as flexible as a 
statement in your chosen language wants to be.

--Larry Garfield

Reply via email to