Fix sorting bug when no existing class property is specified in query string parameter #193
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.
I'm using KnpPaginatorBundle. And I want to sort array of objects.
Now v1.3.5, When some user sent bad query string parameter, then the object does not have getter method,
NoSuchPropertyException
exception will be thrown (This problem related #174 and be caused by #159).Before v1.3.4, if sort property does not exist, the property has just been ignored.
My solution is below.
Checking property existence using
propertyAccessor::isReadable()
. It is simple.But there are still problem, because of php5.x
usort()
bug. https://bugs.php.net/bug.php?id=50688Because
propertyAccessor::isReadable()
throws exception internally, then unfortunatelyusort()
crash bacause of it's bug.The error like this.
So I separate checking logic according to the version of php.