zebra-north / phpcs-short-types
Require the use of short scalar type names (bool, int) in comments, instead of long names (boolean, integer).
Installs: 30 576
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=7.0
README
PHP Codesniffer requires that scalar types be written in their long form, eg. boolean
or integer
.
As of PHP 7+, scalars are required to be written in their short form, eg. bool
or int
.
This patch allows you to use the short form in doc-block comments.
Before:
/** * Test function. * * @param integer $test A numeric argument. * * @return boolean Returns true or false. */ function test(int $test): bool { return false; }
After:
/** * Test function. * * @param int $test A numeric argument. * * @return bool Returns true or false. */ function test(int $test): bool { return false; }
Errors Fixed
- Squiz.Commenting.FunctionComment.IncorrectParamVarName
- Expected "boolean" but found "bool" for parameter type
- Expected "integer" but found "int" for parameter type
- Squiz.Commenting.VariableComment.IncorrectVarType
- Expected "boolean" but found "bool" for @var tag in member variable comment
- Expected "integer" but found "int" for @var tag in member variable comment
- Squiz.Commenting.FunctionComment.InvalidReturn
- Expected "boolean" but found "bool" for function return type
- Expected "integer" but found "int" for function return type
Installation
- Install into composer with:
composer require --dev zebra-north/phpcs-short-types
- Edit your project's
phpcs.xml
to add a bootstrap file:
<?xml version="1.0"?> <ruleset> <arg name="bootstrap" value="vendor/zebra-north/phpcs-short-types/short-types.php"/> ... </ruleset>
Known Issues
This will not suggest bool
/int
if you have used boolean
/integer
- that would require patching PHP Codesniffer. A patch has been created, but not yet merged: