dev/core#1188 Fix API v3 error Class or interface CiviCRM_API3_Exception does not exist #15043
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.
Overview
Static analysis tool Psalm reveals the above error, this is an attempt to fix it as a proof of concept that Psalm errors within civi-core can actually be fixed
Before
Psalm autoloader cannot find CiviCRM_API3_Exception
After
Autoloader can find CiviCRM_API3_Exception
Technical Details
This is not a problem with runtime php because the API_Exception is invariably thrown before the CiviCRM_API3_Exception and since they are both in the same file the require_once for API_Exception also covers CiviCRM_API3_Exception. However, for static code analysers (like Psalm) the processing order is not driven by the order of runtime events
Comments