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.
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 ValidTaxonomySlugSniff #2485
base: develop
Are you sure you want to change the base?
Add ValidTaxonomySlugSniff #2485
Changes from all commits
cdbb5c0
9b101b2
a5653a3
dcddda1
265d46f
5b7267e
4a1b3d0
dc545ee
2150d29
b829a79
ce18b1c
ad1a096
04922b8
5ec64ac
4e6f7f7
7b578cf
c8dbf93
46b5117
ad05b95
dc17ea7
d9e0ee8
05f42ca
2b2b097
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please don't hard-code the parameter position in an abstract sniff. This reduces re-usability. This information should come from the concrete sniff.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The parameter name must be provided by the concrete sniff. If that's the case, the offset is superseded unless the parameter name is incorrect. Am I understanding this correctly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are totally misunderstanding this.
In PHP, parameters can be passed positionally, i.e.
my_function($first, $second, $third)
or by name, i.e.my_function($first, third: $value)
.To get the correct parameter from a function call and handle both ways of passing parameters, the
PassedParameters::getParameterFromStack()
method needs to know both the parameter name(s) and the parameter position.And as this is an abstract sniff, the sniff cannot rely on the "slug"-like parameter always being in the first position.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see! I thought this was checking against the name in the function declaration, rather than checking for named parameters. My mistake. If I had been more attentive, I would have noticed the line, 'First check for a named parameter.' As you may have noticed, I'm not very familiar with the WPCS or the PHPCS codebase. 😅 😇
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PHPCS has no access to the function declaration (unless the function is declared in the same file). For this type of code analysis, you only look at the function call.