Update return types for hash functions #822
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This consolidates
HashHmacFunctionsReturnTypeExtensionintoHashFunctionsReturnTypeExtension(the two classes were very similar) and adds support forhash_file(),hash_hkdf()andhash_pbkdf2().It now also deduces the return type correctly when writing
hash($cond ? 'md5' : 'sha256', ...).I also added
non-empty-stringfor return types and parameters. Return types should be fine, but I'm not sure whether it's too dangerous to narrow function parameters fromstringtonon-empty-string, since that's likely to cause new errors. If that's not desired, I can remove them again.Finally, I'm not sure about why there was logic to treat a
mixedargument for the$algoparameter in such a way, that these functions would return(string|false), but I left it like that. Perhaps this can be changed tostring|false?