StrictInArraySniff
extends AbstractFunctionParameterSniff
in package
Flag calling in_array(), array_search() and array_keys() without true as the third parameter.
Tags
Table of Contents
Properties
- $exclude : array<string|int, mixed>
- Exclude groups.
- $unittest_groups : array<string|int, mixed>
- Groups of function data to check against.
- $excluded_groups : array<string|int, mixed>
- Cache for the excluded groups information.
- $group_name : string
- The group name for this group of functions.
- $groups : array<string|int, mixed>
- Cache for the group information.
- $phpcsFile : File
- The current file being sniffed.
- $regex_pattern : string
- Regex pattern with placeholder for the function names.
- $target_functions : array<string, array{param_position: int, param_name: string, always_needed: bool}>
- List of array functions to which a $strict parameter can be passed.
- $tokens : array<string|int, mixed>
- The list of tokens in the current file being sniffed.
Methods
- check_for_matches() : int|void
- Verify if the current token is one of the targetted functions.
- getGroups() : array<string|int, mixed>
- Groups of functions to restrict.
- is_targetted_token() : bool
- Verify is the current token is a function call.
- process() : int|void
- Set sniff properties and hand off to child class for processing of the token.
- process_matched_token() : int|void
- Process a matched token.
- process_no_parameters() : int|void
- Process the function if no parameters were found.
- process_parameters() : void
- Process the parameters of a matched function.
- process_token() : int|void
- Processes this test, when one of its tokens is encountered.
- register() : array<string|int, mixed>
- Returns an array of tokens this test wants to listen for.
- prepare_name_for_regex() : string
- Prepare the function name for use in a regular expression.
- setup_groups() : bool
- Set up the regular expressions for each group.
Properties
$exclude
Exclude groups.
public
array<string|int, mixed>
$exclude
= array()
Example: 'switch_to_blog,user_meta'
Tags
$unittest_groups
Groups of function data to check against.
public
static array<string|int, mixed>
$unittest_groups
= array()
Don't use this in extended classes, override getGroups() instead. This is only used for Unit tests.
Tags
$excluded_groups
Cache for the excluded groups information.
protected
array<string|int, mixed>
$excluded_groups
= array()
Tags
$group_name
The group name for this group of functions.
protected
string
$group_name
= 'strict'
Tags
$groups
Cache for the group information.
protected
array<string|int, mixed>
$groups
= array()
Tags
$phpcsFile
The current file being sniffed.
protected
File
$phpcsFile
Tags
$regex_pattern
Regex pattern with placeholder for the function names.
protected
string
$regex_pattern
= '`^(?:%s)$`i'
Tags
$target_functions
List of array functions to which a $strict parameter can be passed.
protected
array<string, array{param_position: int, param_name: string, always_needed: bool}>
$target_functions
= array('in_array' => array('param_position' => 3, 'param_name' => 'strict', 'always_needed' => true), 'array_search' => array('param_position' => 3, 'param_name' => 'strict', 'always_needed' => true), 'array_keys' => array('param_position' => 3, 'param_name' => 'strict', 'always_needed' => false))
The array_keys() function only requires the $strict parameter when the optional second parameter $filter_value has been set.
Key is the function name.
Tags
$tokens
The list of tokens in the current file being sniffed.
protected
array<string|int, mixed>
$tokens
Tags
Methods
check_for_matches()
Verify if the current token is one of the targetted functions.
public
check_for_matches(int $stackPtr) : int|void
Parameters
- $stackPtr : int
-
The position of the current token in the stack.
Tags
Return values
int|void —Integer stack pointer to skip forward or void to continue normal file processing.
getGroups()
Groups of functions to restrict.
public
getGroups() : array<string|int, mixed>
Return values
array<string|int, mixed>is_targetted_token()
Verify is the current token is a function call.
public
is_targetted_token(int $stackPtr) : bool
Parameters
- $stackPtr : int
-
The position of the current token in the stack.
Tags
Return values
boolprocess()
Set sniff properties and hand off to child class for processing of the token.
public
process(File $phpcsFile, int $stackPtr) : int|void
Parameters
- $phpcsFile : File
-
The file being scanned.
- $stackPtr : int
-
The position of the current token in the stack passed in $tokens.
Tags
Return values
int|void —Integer stack pointer to skip forward or void to continue normal file processing.
process_matched_token()
Process a matched token.
public
process_matched_token(int $stackPtr, string $group_name, string $matched_content) : int|void
Parameters
- $stackPtr : int
-
The position of the current token in the stack.
- $group_name : string
-
The name of the group which was matched.
- $matched_content : string
-
The token content (function name) which was matched in lowercase.
Return values
int|void —Integer stack pointer to skip forward or void to continue normal file processing.
process_no_parameters()
Process the function if no parameters were found.
public
process_no_parameters(int $stackPtr, string $group_name, string $matched_content) : int|void
Defaults to doing nothing. Can be overloaded in child classes to handle functions were parameters are expected, but none found.
Parameters
- $stackPtr : int
-
The position of the current token in the stack.
- $group_name : string
-
The name of the group which was matched.
- $matched_content : string
-
The token content (function name) which was matched in lowercase.
Return values
int|void —Integer stack pointer to skip forward or void to continue normal file processing.
process_parameters()
Process the parameters of a matched function.
public
process_parameters(int $stackPtr, string $group_name, string $matched_content, array<string|int, mixed> $parameters) : void
Parameters
- $stackPtr : int
-
The position of the current token in the stack.
- $group_name : string
-
The name of the group which was matched.
- $matched_content : string
-
The token content (function name) which was matched in lowercase.
- $parameters : array<string|int, mixed>
-
Array with information about the parameters.
Tags
process_token()
Processes this test, when one of its tokens is encountered.
public
process_token(int $stackPtr) : int|void
Parameters
- $stackPtr : int
-
The position of the current token in the stack.
Return values
int|void —Integer stack pointer to skip forward or void to continue normal file processing.
register()
Returns an array of tokens this test wants to listen for.
public
register() : array<string|int, mixed>
Return values
array<string|int, mixed>prepare_name_for_regex()
Prepare the function name for use in a regular expression.
protected
prepare_name_for_regex(string $function_name) : string
The getGroups() method allows for providing function names with a wildcard * to target a group of functions. This prepare routine takes that into account while still safely escaping the function name for use in a regular expression.
Parameters
- $function_name : string
-
Function name.
Tags
Return values
string —Regex escaped function name.
setup_groups()
Set up the regular expressions for each group.
protected
setup_groups(string $key) : bool
Parameters
- $key : string
-
The group array index key where the input for the regular expression can be found.
Tags
Return values
bool —True if the groups were setup. False if not.