The bug reported 🐛
There is a typo in phpdocs here:
https://github.com/optimizely/php-sdk/blame/master/src/Optimizely/UserProfile/UserProfileServiceInterface.php#L26
Because there is no class with name userProfile.
Seems like intention was to specify UserProfile or array instead.
Background
In some case insensitive file systems, like MacOS APFS (default). It's impossible to have userProfile.php and UserProfile.php in same directory. Meanwhile in case sensitive file systems it's possible.
In my use case specifying return type hint as userProfile (by sdk) is causing issues when trying to add ignore configuration to ignoreErrors in phpstan-baseline.neon. During the execution of phpstan on each filesystem, the error list is different - because of case insensitivity and type specified in phpdocs.
The bug reported 🐛
There is a typo in
phpdocshere:https://github.com/optimizely/php-sdk/blame/master/src/Optimizely/UserProfile/UserProfileServiceInterface.php#L26
Because there is no class with name
userProfile.Seems like intention was to specify
UserProfileorarrayinstead.Background
In some case insensitive file systems, like MacOS APFS (default). It's impossible to have
userProfile.phpandUserProfile.phpin same directory. Meanwhile in case sensitive file systems it's possible.In my use case specifying return type hint as
userProfile(by sdk) is causing issues when trying to add ignore configuration toignoreErrorsinphpstan-baseline.neon. During the execution of phpstan on each filesystem, the error list is different - because of case insensitivity and type specified in phpdocs.