Hi Joel On Fri, Apr 5, 2024 at 3:10 PM Joel Wurtz <jwu...@jolicode.com> wrote: > > Like a lot of libraries, we offer the possibility to configure behaviors with > Attributes. However in some cases it's wrongly configured by the user and > this wrong configuration cannot be detected on the attribute constructor but > afterwards. > > In this case we may want to pinpoint which attribute (in which file and at > which line) cause this bad configuration. Since there was no method to > retrieve those information in the ReflectionAttribute I proposed a PR > https://github.com/php/php-src/pull/13889 to add those informations. > > I do believe this will allow better DX for end user when correctly used,
I would propose negating and renaming isUserDefined() to isInternal(), since we already have several such methods. As hinted in the PR, I believe the implementation is wrong, or rather doesn't do what you would expect it to do. I'm also wondering whether it may be more useful to expose the attribute class as getClass(), without instantiating the attribute itself. This would allow you to check for isInternal() there, along with all the other class reflection information. Ilija