-
-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add explicit nullable types for PHP 8.4 support #162
Add explicit nullable types for PHP 8.4 support #162
Conversation
Woah! Huge thank you for all the effort you've put into this @SanderMuller, I really appreciate it! 🤯 I'm hoping to have a proper sit down and go through all these changes tomorrow or over the weekend 😄 |
Let me know if I can help with this process! I think the impact is quite minimal |
Hey @SanderMuller! I'm really sorry for not getting to this yet. It's been a couple of hectic weeks 😭 I've set some time aside this weekend to go over all my packages and get them updated for PHP 8.4. So I'll make sure I take a look at this then! 😄 |
Hope you're doing well, take your time! |
Hey @SanderMuller! I'm just letting you know I've released these changes in a v7.7.0 release! 🎉 https://github.com/ash-jc-allen/laravel-exchange-rates/releases/tag/v7.7.0 I opted for a minor version instead because it seems like the signatures are pretty much the same. From what I can see when reading up, it appears that optional parameters were implicitly nullable, and adding the I also looked at how Laravel handled it too, and it appears they just did a minor version bump (laravel/framework#50922). Huge thanks again for this PR, I appreciate it! 😄 |
I think that's fine, at least for our project! Maybe if someone extended these classes, they are forced to update their signature (or can you extend Thanks for the tag! |
This update adds explicit nullable types to method signatures to ensure compatibility with PHP 8.4, as implicit nullability is deprecated.
?Type
).buildCacheKey
method inCacheRepository
and related methods in drivers and interfaces.Consideration:
Since this will require a major version due to the signature changes, perhaps this is a good moment to drop unsupported PHP versions 8.0 and Laravel 8 and 9.