efabrica / coding-standard
PSR2 based coding standard for PHP PHP_CodeSniffer
Installs: 46 308
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 1
Requires
- slevomat/coding-standard: ^8.4
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-11-03 11:16:46 UTC
README
eFabrica coding standards for PHP_CodeSniffer are based on PSR2.
eFabrica coding standard
Is based on PSR2 and adds some rules:
- Allows max. 1 empty line between code lines
- Doesn't allow any whitespace at the end of lines
- Doesn't allow any whitespace between closing parenthesis and return type colon
- Requires exactly one space between type and variable
- Requires exactly one space between return type colon and return type
- Requires exactly one space before and after each operator
- Requires exactly one space before and after . (dot) in string concatenating
- Requires exactly one space after keywords private, protected, public, abstract, final
- Requires exactly one blank line before and one blank line after namespace statement
- Requires max. one namespace per file
- Doesn't allow any blank lines between uses and trait uses
- Requires one line before first use and one line after last use (not applied if it is trait use and it is first / last in class)
- Requires exactly one blank line before and after each function except first and last
- Requires exactly one blank line before and after each member var except first and last
- Requires
new
with parentheses. - Prefer to use single quotes over double quotes. Double quotes are allowed if string contains variable
- Requires trailing comma after the last element of multi-line array
- Requires all names as reference (no fully qualified or partial names - everything is in uses)
- Requires all uses to be used
- Requires alphabetically sorted uses
- Disallows leading backslash for uses
- Disallows snake_case for properties, variables, function names, method names
- Doesn't allow underscore in method names
- Doesn't allow multiple spaces between type and property / variable / parameter
- Class structure is defined as follows: uses, enum cases, constants, properties, constructor, methods
- Requires visibility for all constants
- Requires exactly one blank line between methods
- Doesn't allow any useless comments
Usage
composer require efabrica/coding-standard --dev
vendor/bin/phpcs {dirs} --standard="vendor/efabrica/coding-standard/eFabrica" {other-options}
for {dirs} use space-separated list of directories
for {other-options} seevendor/bin/phpcs --help
or visit PHP_CodeSniffer documentation
eFabricaStrict coding standard
Is based on eFabrica coding standard and adds some strict rules:
- Use
declare(strict_types=1);
at the top of each PHP file. Use one empty line before and also after declare - Requires each class to be declared either as abstract or as final
Usage
composer require efabrica/coding-standard --dev
vendor/bin/phpcs {dirs} --standard="vendor/efabrica/coding-standard/eFabricaStrict" {other-options}
for {dirs} use space-separated list of directories
for {other-options} seevendor/bin/phpcs --help
or visit PHP_CodeSniffer documentation