dx: throw exception if policy could not be found in policy registry #8
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 PR make the
HasPolicies
trait throw an exception if it can not find a policy for a subject with a (hopefully) useful exception message pointing the developer into a direction where or how they could fix the issue. Additionally I moved away from reflection classes in favor of built-in PHP methods to check for method existance and return value types.In order to properly test these changes I went ahead and added phpunit as a dependency to add tests for this behaviour and added a GH actions definition (mostly copied from https://github.com/geekcell/container-facade/blob/main/.github/workflows/tests.yaml).
While this technically is a backwards compatibility break, in the previous version(s) of this bundle, if a policy was not found, the code would just error out completely because php cannot instantiate a reflection class of
null
.