laminas/laminas-coding-standard
### [`v2.3.0`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.3.0)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.2.1...2.3.0)
##### Release Notes for [2.3.0](https://togithub.com/laminas/laminas-coding-standard/milestone/12)
Feature release (minor)
##### 2.3.0
- Total issues resolved: **0**
- Total pull requests resolved: **1**
- Total contributors: **1**
##### Enhancement
- [67: feat: upgrade to slevomat/coding-standard 7 with enhanced PHP 8 support](https://togithub.com/laminas/laminas-coding-standard/pull/67) thanks to [@geerteltink](https://togithub.com/geerteltink)
### [`v2.2.1`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.2.1)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.2.0...2.2.1)
##### Release Notes for [2.2.1](https://togithub.com/laminas/laminas-coding-standard/milestone/11)
2.2.x bugfix release (patch)
##### 2.2.1
- Total issues resolved: **0**
- Total pull requests resolved: **2**
- Total contributors: **1**
##### Bug
- [65: Exclude declare strict types below comment](https://togithub.com/laminas/laminas-coding-standard/pull/65) thanks to [@ghostwriter](https://togithub.com/ghostwriter)
##### Enhancement
- [64: Normalize composer](https://togithub.com/laminas/laminas-coding-standard/pull/64) thanks to [@ghostwriter](https://togithub.com/ghostwriter)
### [`v2.2.0`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.2.0)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.4...2.2.0)
##### Release Notes for [2.2.0](https://togithub.com/laminas/laminas-coding-standard/milestone/5)
Feature release (minor)
##### 2.2.0
- Total issues resolved: **1**
- Total pull requests resolved: **7**
- Total contributors: **4**
##### Documentation
- [63: docs: remove changelog once again](https://togithub.com/laminas/laminas-coding-standard/pull/63) thanks to [@geerteltink](https://togithub.com/geerteltink)
- [62: docs: fix markdown formatting](https://togithub.com/laminas/laminas-coding-standard/pull/62) thanks to [@geerteltink](https://togithub.com/geerteltink)
##### Bug
- [61: fix: update composer lockfile](https://togithub.com/laminas/laminas-coding-standard/pull/61) thanks to [@geerteltink](https://togithub.com/geerteltink)
##### Enhancement
- [60: Switch to GHA CI workflow](https://togithub.com/laminas/laminas-coding-standard/pull/60) thanks to [@internalsystemerror](https://togithub.com/internalsystemerror)
- [59: Remove file headers](https://togithub.com/laminas/laminas-coding-standard/pull/59) thanks to [@ghostwriter](https://togithub.com/ghostwriter)
- [58: Remove laminas-zendframework-bridge.](https://togithub.com/laminas/laminas-coding-standard/pull/58) thanks to [@Danack](https://togithub.com/Danack)
- [51: Drop support for PHP less than 7.3](https://togithub.com/laminas/laminas-coding-standard/pull/51) thanks to [@geerteltink](https://togithub.com/geerteltink)
### [`v2.1.4`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.4)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.3...2.1.4)
#### 2.1.4 - 2020-10-26
***
##### Release Notes for [2.1.4](https://togithub.com/laminas/laminas-coding-standard/milestone/9)
2.1.x bugfix release (patch)
##### 2.1.4
- Total issues resolved: **0**
- Total pull requests resolved: **1**
- Total contributors: **1**
##### Bug
- [54: fix: loosen typehint rules](https://togithub.com/laminas/laminas-coding-standard/pull/54) thanks to [@geerteltink](https://togithub.com/geerteltink)
### [`v2.1.3`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.3)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.2...2.1.3)
#### 2.1.3 - 2020-10-25
***
##### Release Notes for [2.1.3](https://togithub.com/laminas/laminas-coding-standard/milestone/8)
2.1.x bugfix release (patch)
##### 2.1.3
- Total issues resolved: **0**
- Total pull requests resolved: **1**
- Total contributors: **1**
##### Bug
- [52: Remove double referenced rule](https://togithub.com/laminas/laminas-coding-standard/pull/52) thanks to [@geerteltink](https://togithub.com/geerteltink)
### [`v2.1.2`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.2)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.1...2.1.2)
#### 2.1.2 - 2020-10-25
***
##### Release Notes for [2.1.2](https://togithub.com/laminas/laminas-coding-standard/milestone/7)
2.1.x bugfix release (patch)
##### 2.1.2
- Total issues resolved: **2**
- Total pull requests resolved: **2**
- Total contributors: **3**
##### Bug
- [49: Handle intersection types correctly](https://togithub.com/laminas/laminas-coding-standard/pull/49) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@weierophinney](https://togithub.com/weierophinney)
- [48: Disable automatic missing native typehint fixing](https://togithub.com/laminas/laminas-coding-standard/pull/48) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@autowp](https://togithub.com/autowp)
### [`v2.1.1`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.1)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.0...2.1.1)
#### 2.1.1 - 2020-10-24
***
##### Release Notes for [2.1.1](https://togithub.com/laminas/laminas-coding-standard/milestone/4)
2.1.x bugfix release (patch)
##### 2.1.1
- Total issues resolved: **3**
- Total pull requests resolved: **4**
- Total contributors: **3**
##### Documentation
- [45: docs: add example for type hinting in docblocks](https://togithub.com/laminas/laminas-coding-standard/pull/45) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@Xerkus](https://togithub.com/Xerkus)
##### Bug
- [44: fix: unused imports and generics](https://togithub.com/laminas/laminas-coding-standard/pull/44) thanks to [@geerteltink](https://togithub.com/geerteltink)
- [41: fix: update dependencies to ensure some fixes are included](https://togithub.com/laminas/laminas-coding-standard/pull/41) thanks to [@geerteltink](https://togithub.com/geerteltink)
##### Enhancement
- [42: feat: php 8 support](https://togithub.com/laminas/laminas-coding-standard/pull/42) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@boesing](https://togithub.com/boesing)
### [`v2.1.0`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.0)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.0.1...2.1.0)
##### Release Notes for [2.1.0](https://togithub.com/laminas/laminas-coding-standard/milestone/3)
##### 2.1.0
- Total issues resolved: **2**
- Total pull requests resolved: **4**
- Total contributors: **3**
##### Enhancement
- [38: Remove obsolete branch aliases](https://togithub.com/laminas/laminas-coding-standard/pull/38) thanks to [@geerteltink](https://togithub.com/geerteltink)
- [37: Feat: enable automatic releases](https://togithub.com/laminas/laminas-coding-standard/pull/37) thanks to [@geerteltink](https://togithub.com/geerteltink)
##### Bug
- [36: Remove contradicting rule for file header comment](https://togithub.com/laminas/laminas-coding-standard/pull/36) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@arueckauer](https://togithub.com/arueckauer)
- [18: SlevomatCodingStandard.Operators.DisallowEqualOperators: prevent risky fix](https://togithub.com/laminas/laminas-coding-standard/pull/18) thanks to [@autowp](https://togithub.com/autowp)
- [17: Broken equality comparisons](https://togithub.com/laminas/laminas-coding-standard/issues/17) thanks to [@autowp](https://togithub.com/autowp)
### [`v2.0.1`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.0.1)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.0.0...2.0.1)
## Added
- [#34](https://togithub.com/laminas/laminas-coding-standard/pull/34) Added support for `dealerdirect/phpcodesniffer-composer-installer` 0.7 and thus composer 2.0
## Changed
- Nothing.
## Deprecated
- Nothing.
## Removed
- Nothing.
## Fixed
- Nothing.
### [`v2.0.0`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.0.0)
[Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/1.0.0...2.0.0)
## Added
- Nothing.
## Changed
- [zendframework/zend-coding-standard#22](https://togithub.com/zendframework/zend-coding-standard/pull/22) refactors
documentation. It now follows the PHP-FIG PSR-12 style.
- [zendframework/zend-coding-standard#22](https://togithub.com/zendframework/zend-coding-standard/pull/22) refactors
the ruleset. It uses PSR-12 as the base ruleset with these additional rules:
- The short open tag SHOULD NOT be used.
- Deprecated features SHOULD be avoided.
- The backtick operator MUST NOT be used.
- The `goto` language construct SHOULD NOT be used.
- The `global` keyword MUST NOT be used.
- The constant `PHP_SAPI` SHOULD be used instead of the `php_sapi_name()`
function.
- Aliases SHOULD NOT be used.
- There MUST NOT be a space before a semicolon. Redundant semicolons SHOULD
be avoided.
- Non executable code MUST be removed.
- There MUST be a single space after language constructs.
- Parentheses MUST be omitted where possible.
- PHP function calls MUST be in lowercase.
- There MAY NOT be any content before the opening tag. Inline HTML in PHP code
SHOULD be avoided. All code MUST be executable and non executable code SHOULD
be removed.
- The `declare(strict_types=1)` directive MUST be declared and be the first
statement in a file.
- There MAY be maximum one blank line to improve readability and to indicate
related blocks of code except where explicitly forbidden.
- There MAY NOT be any blank line after opening braces and before closing braces.
- There MUST NOT be a space before a semicolon. Redundant semicolons SHOULD be
avoided.
- Encapsed strings MAY be used instead of concatenating strings. When
concatenating strings, there MUST be a single whitespace before and after the
concatenation operator. The concatenation operator MUST NOT be the at the end
of a line. If multi-line concatenation is used there MUST be an indent of 4
spaces.
- Variable names MUST be declared in camelCase.
- The short array syntax MUST be used to define arrays.
- All values in multiline arrays must be indented with 4 spaces.
- All array values must be followed by a comma, including the last value.
- There MUST NOT be whitespace around the opening bracket or before the closing
bracket when referencing an array.
- All double arrow symbols MUST be aligned to one space after the longest array
key.
- The short list syntax `[...]` SHOULD be used instead of `list(...)`.
- There MUST be a single space after the namespace keyword and there MAY NOT be
a space around a namespace separator.
- Import statements MUST be alphabetically sorted.
- Unused import statements SHOULD be removed.
- Fancy group import statements MUST NOT be used.
- Each import statement MUST be on its own line.
- Import statement aliases for classes, traits, functions and constants MUST
be useful, meaning that aliases SHOULD only be used if a class with the same
name is imported.
- Classes, traits, interfaces, constants and functions MUST be imported.
- There MUST NOT be duplicate class names.
- The file name MUST match the case of the terminating class name.
- PHP 4 style constructors MUST NOT be used.
- Correct class name casing MUST be used.
- Abstract classes MUST have a `Abstract` prefix.
- Exception classes MUST have a `Exception` suffix.
- Interface classes MUST have a `Interface` suffix.
- Trait classes MUST have a `Trait` suffix.
- For self-reference a class lower-case `self::` MUST be used without spaces
around the scope resolution operator.
- Class name resolution via `::class` MUST be used instead of `__CLASS__`,
`get_class()`, `get_class($this)`, `get_called_class()`, `get_parent_class()`
and string reference.
- There MAY NOT be any whitespace around the double colon operator.
- Unused private methods, constants and properties MUST be removed.
- Traits MUST be sorted alphabetically.
- Default null values MUST be omitted for class properties.
- There MUST be a single empty line between methods in a class.
- The pseudo-variable `$this` MUST NOT be called inside a static method or
function.
- Returned variables SHOULD be useful and SHOULD NOT be assigned to a value and
returned on the next line.
- The question mark MUST be used when the default argument value is null.
- The `final` keyword on methods MUST be omitted in final declared classes.
- There MUST be one single space after `break` and `continue` structures with
a numeric argument argument.
- Statements MUST NOT be empty, except for catch statements.
- The `continue` control structure MUST NOT be used in switch statements,
`break` SHOULD be used instead.
- All catch blocks MUST be reachable.
- There MUST be at least one space on either side of an equals sign used
to assign a value to a variable. In case of a block of related
assignments, more spaces MUST be inserted before the equal sign to
promote readability.
- There MUST NOT be any white space around the object operator UNLESS
multilines are used.
- Loose comparison operators SHOULD NOT be used, use strict comparison
operators instead. e.g. use `===` instead of `==`.
- The null coalesce operator SHOULD be used when possible.
- Assignment operators SHOULD be used when possible.
- The `&&` and `||` operators SHOULD be used instead of `and` and `or`.
- There MUST be one whitespace after a type casting operator.
- There MUST be one whitespace after unary not.
- Inherited variables passed via `use` MUST be used in closures.
- Code SHOULD be written so it explains itself. DocBlocks and comments
SHOULD only be used if necessary. They MUST NOT start with `#` and MUST
NOT be empty. They SHOULD NOT be used for already typehinted arguments,
except arrays.
- The asterisks in a DocBlock should align, and there should be one
space between the asterisk and tag.
- PHPDoc tags `@param`, `@return` and `@throws` SHOULD not be aligned or
contain multiple spaces between the tag, type and description.
- If a function throws any exceptions, it SHOULD be documented with
`@throws` tags.
- DocBlocks MUST follow a specific order of annotations with empty
newline between specific groups.
- The annotations `@api`, `@author`, `@category`, `@created`, `@package`,
`@subpackage` and `@version` MUST NOT be used in comments. Git commits
provide accurate information.
- The words *private*, *protected*, *static*, *constructor*, *deconstructor*,
*Created by*, *getter* and *setter*, MUST NOT be used in comments.
- The `@var` tag MAY be used in inline comments to document the *Type*
of properties. Single-line property comments with a `@var` tag SHOULD
be written as one-liners. The `@var` MAY NOT be used for constants.
- The correct tag case of PHPDocs and PHPUnit tags MUST be used.
- Inline DocComments MAY be used at the end of the line, with at least a
single space preceding. Inline DocComments MUST NOT be placed after curly
brackets.
- Heredoc and nowdoc tags MUST be uppercase without spaces.
## Deprecated
- Nothing.
## Removed
- Nothing.
## Fixed
- [#16](https://togithub.com/laminas/laminas-coding-standard/pull/16) fixes the placement of strict type declarations.
- [#12](https://togithub.com/laminas/laminas-coding-standard/pull/12) fixes coding standard name.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[x] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
~1.0.0
->~2.3.0
Release Notes
laminas/laminas-coding-standard
### [`v2.3.0`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.3.0) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.2.1...2.3.0) ##### Release Notes for [2.3.0](https://togithub.com/laminas/laminas-coding-standard/milestone/12) Feature release (minor) ##### 2.3.0 - Total issues resolved: **0** - Total pull requests resolved: **1** - Total contributors: **1** ##### Enhancement - [67: feat: upgrade to slevomat/coding-standard 7 with enhanced PHP 8 support](https://togithub.com/laminas/laminas-coding-standard/pull/67) thanks to [@geerteltink](https://togithub.com/geerteltink) ### [`v2.2.1`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.2.1) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.2.0...2.2.1) ##### Release Notes for [2.2.1](https://togithub.com/laminas/laminas-coding-standard/milestone/11) 2.2.x bugfix release (patch) ##### 2.2.1 - Total issues resolved: **0** - Total pull requests resolved: **2** - Total contributors: **1** ##### Bug - [65: Exclude declare strict types below comment](https://togithub.com/laminas/laminas-coding-standard/pull/65) thanks to [@ghostwriter](https://togithub.com/ghostwriter) ##### Enhancement - [64: Normalize composer](https://togithub.com/laminas/laminas-coding-standard/pull/64) thanks to [@ghostwriter](https://togithub.com/ghostwriter) ### [`v2.2.0`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.2.0) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.4...2.2.0) ##### Release Notes for [2.2.0](https://togithub.com/laminas/laminas-coding-standard/milestone/5) Feature release (minor) ##### 2.2.0 - Total issues resolved: **1** - Total pull requests resolved: **7** - Total contributors: **4** ##### Documentation - [63: docs: remove changelog once again](https://togithub.com/laminas/laminas-coding-standard/pull/63) thanks to [@geerteltink](https://togithub.com/geerteltink) - [62: docs: fix markdown formatting](https://togithub.com/laminas/laminas-coding-standard/pull/62) thanks to [@geerteltink](https://togithub.com/geerteltink) ##### Bug - [61: fix: update composer lockfile](https://togithub.com/laminas/laminas-coding-standard/pull/61) thanks to [@geerteltink](https://togithub.com/geerteltink) ##### Enhancement - [60: Switch to GHA CI workflow](https://togithub.com/laminas/laminas-coding-standard/pull/60) thanks to [@internalsystemerror](https://togithub.com/internalsystemerror) - [59: Remove file headers](https://togithub.com/laminas/laminas-coding-standard/pull/59) thanks to [@ghostwriter](https://togithub.com/ghostwriter) - [58: Remove laminas-zendframework-bridge.](https://togithub.com/laminas/laminas-coding-standard/pull/58) thanks to [@Danack](https://togithub.com/Danack) - [51: Drop support for PHP less than 7.3](https://togithub.com/laminas/laminas-coding-standard/pull/51) thanks to [@geerteltink](https://togithub.com/geerteltink) ### [`v2.1.4`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.4) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.3...2.1.4) #### 2.1.4 - 2020-10-26 *** ##### Release Notes for [2.1.4](https://togithub.com/laminas/laminas-coding-standard/milestone/9) 2.1.x bugfix release (patch) ##### 2.1.4 - Total issues resolved: **0** - Total pull requests resolved: **1** - Total contributors: **1** ##### Bug - [54: fix: loosen typehint rules](https://togithub.com/laminas/laminas-coding-standard/pull/54) thanks to [@geerteltink](https://togithub.com/geerteltink) ### [`v2.1.3`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.3) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.2...2.1.3) #### 2.1.3 - 2020-10-25 *** ##### Release Notes for [2.1.3](https://togithub.com/laminas/laminas-coding-standard/milestone/8) 2.1.x bugfix release (patch) ##### 2.1.3 - Total issues resolved: **0** - Total pull requests resolved: **1** - Total contributors: **1** ##### Bug - [52: Remove double referenced rule](https://togithub.com/laminas/laminas-coding-standard/pull/52) thanks to [@geerteltink](https://togithub.com/geerteltink) ### [`v2.1.2`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.2) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.1...2.1.2) #### 2.1.2 - 2020-10-25 *** ##### Release Notes for [2.1.2](https://togithub.com/laminas/laminas-coding-standard/milestone/7) 2.1.x bugfix release (patch) ##### 2.1.2 - Total issues resolved: **2** - Total pull requests resolved: **2** - Total contributors: **3** ##### Bug - [49: Handle intersection types correctly](https://togithub.com/laminas/laminas-coding-standard/pull/49) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@weierophinney](https://togithub.com/weierophinney) - [48: Disable automatic missing native typehint fixing](https://togithub.com/laminas/laminas-coding-standard/pull/48) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@autowp](https://togithub.com/autowp) ### [`v2.1.1`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.1) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.1.0...2.1.1) #### 2.1.1 - 2020-10-24 *** ##### Release Notes for [2.1.1](https://togithub.com/laminas/laminas-coding-standard/milestone/4) 2.1.x bugfix release (patch) ##### 2.1.1 - Total issues resolved: **3** - Total pull requests resolved: **4** - Total contributors: **3** ##### Documentation - [45: docs: add example for type hinting in docblocks](https://togithub.com/laminas/laminas-coding-standard/pull/45) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@Xerkus](https://togithub.com/Xerkus) ##### Bug - [44: fix: unused imports and generics](https://togithub.com/laminas/laminas-coding-standard/pull/44) thanks to [@geerteltink](https://togithub.com/geerteltink) - [41: fix: update dependencies to ensure some fixes are included](https://togithub.com/laminas/laminas-coding-standard/pull/41) thanks to [@geerteltink](https://togithub.com/geerteltink) ##### Enhancement - [42: feat: php 8 support](https://togithub.com/laminas/laminas-coding-standard/pull/42) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@boesing](https://togithub.com/boesing) ### [`v2.1.0`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.1.0) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.0.1...2.1.0) ##### Release Notes for [2.1.0](https://togithub.com/laminas/laminas-coding-standard/milestone/3) ##### 2.1.0 - Total issues resolved: **2** - Total pull requests resolved: **4** - Total contributors: **3** ##### Enhancement - [38: Remove obsolete branch aliases](https://togithub.com/laminas/laminas-coding-standard/pull/38) thanks to [@geerteltink](https://togithub.com/geerteltink) - [37: Feat: enable automatic releases](https://togithub.com/laminas/laminas-coding-standard/pull/37) thanks to [@geerteltink](https://togithub.com/geerteltink) ##### Bug - [36: Remove contradicting rule for file header comment](https://togithub.com/laminas/laminas-coding-standard/pull/36) thanks to [@geerteltink](https://togithub.com/geerteltink) and [@arueckauer](https://togithub.com/arueckauer) - [18: SlevomatCodingStandard.Operators.DisallowEqualOperators: prevent risky fix](https://togithub.com/laminas/laminas-coding-standard/pull/18) thanks to [@autowp](https://togithub.com/autowp) - [17: Broken equality comparisons](https://togithub.com/laminas/laminas-coding-standard/issues/17) thanks to [@autowp](https://togithub.com/autowp) ### [`v2.0.1`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.0.1) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/2.0.0...2.0.1) ## Added - [#34](https://togithub.com/laminas/laminas-coding-standard/pull/34) Added support for `dealerdirect/phpcodesniffer-composer-installer` 0.7 and thus composer 2.0 ## Changed - Nothing. ## Deprecated - Nothing. ## Removed - Nothing. ## Fixed - Nothing. ### [`v2.0.0`](https://togithub.com/laminas/laminas-coding-standard/releases/tag/2.0.0) [Compare Source](https://togithub.com/laminas/laminas-coding-standard/compare/1.0.0...2.0.0) ## Added - Nothing. ## Changed - [zendframework/zend-coding-standard#22](https://togithub.com/zendframework/zend-coding-standard/pull/22) refactors documentation. It now follows the PHP-FIG PSR-12 style. - [zendframework/zend-coding-standard#22](https://togithub.com/zendframework/zend-coding-standard/pull/22) refactors the ruleset. It uses PSR-12 as the base ruleset with these additional rules: - The short open tag SHOULD NOT be used. - Deprecated features SHOULD be avoided. - The backtick operator MUST NOT be used. - The `goto` language construct SHOULD NOT be used. - The `global` keyword MUST NOT be used. - The constant `PHP_SAPI` SHOULD be used instead of the `php_sapi_name()` function. - Aliases SHOULD NOT be used. - There MUST NOT be a space before a semicolon. Redundant semicolons SHOULD be avoided. - Non executable code MUST be removed. - There MUST be a single space after language constructs. - Parentheses MUST be omitted where possible. - PHP function calls MUST be in lowercase. - There MAY NOT be any content before the opening tag. Inline HTML in PHP code SHOULD be avoided. All code MUST be executable and non executable code SHOULD be removed. - The `declare(strict_types=1)` directive MUST be declared and be the first statement in a file. - There MAY be maximum one blank line to improve readability and to indicate related blocks of code except where explicitly forbidden. - There MAY NOT be any blank line after opening braces and before closing braces. - There MUST NOT be a space before a semicolon. Redundant semicolons SHOULD be avoided. - Encapsed strings MAY be used instead of concatenating strings. When concatenating strings, there MUST be a single whitespace before and after the concatenation operator. The concatenation operator MUST NOT be the at the end of a line. If multi-line concatenation is used there MUST be an indent of 4 spaces. - Variable names MUST be declared in camelCase. - The short array syntax MUST be used to define arrays. - All values in multiline arrays must be indented with 4 spaces. - All array values must be followed by a comma, including the last value. - There MUST NOT be whitespace around the opening bracket or before the closing bracket when referencing an array. - All double arrow symbols MUST be aligned to one space after the longest array key. - The short list syntax `[...]` SHOULD be used instead of `list(...)`. - There MUST be a single space after the namespace keyword and there MAY NOT be a space around a namespace separator. - Import statements MUST be alphabetically sorted. - Unused import statements SHOULD be removed. - Fancy group import statements MUST NOT be used. - Each import statement MUST be on its own line. - Import statement aliases for classes, traits, functions and constants MUST be useful, meaning that aliases SHOULD only be used if a class with the same name is imported. - Classes, traits, interfaces, constants and functions MUST be imported. - There MUST NOT be duplicate class names. - The file name MUST match the case of the terminating class name. - PHP 4 style constructors MUST NOT be used. - Correct class name casing MUST be used. - Abstract classes MUST have a `Abstract` prefix. - Exception classes MUST have a `Exception` suffix. - Interface classes MUST have a `Interface` suffix. - Trait classes MUST have a `Trait` suffix. - For self-reference a class lower-case `self::` MUST be used without spaces around the scope resolution operator. - Class name resolution via `::class` MUST be used instead of `__CLASS__`, `get_class()`, `get_class($this)`, `get_called_class()`, `get_parent_class()` and string reference. - There MAY NOT be any whitespace around the double colon operator. - Unused private methods, constants and properties MUST be removed. - Traits MUST be sorted alphabetically. - Default null values MUST be omitted for class properties. - There MUST be a single empty line between methods in a class. - The pseudo-variable `$this` MUST NOT be called inside a static method or function. - Returned variables SHOULD be useful and SHOULD NOT be assigned to a value and returned on the next line. - The question mark MUST be used when the default argument value is null. - The `final` keyword on methods MUST be omitted in final declared classes. - There MUST be one single space after `break` and `continue` structures with a numeric argument argument. - Statements MUST NOT be empty, except for catch statements. - The `continue` control structure MUST NOT be used in switch statements, `break` SHOULD be used instead. - All catch blocks MUST be reachable. - There MUST be at least one space on either side of an equals sign used to assign a value to a variable. In case of a block of related assignments, more spaces MUST be inserted before the equal sign to promote readability. - There MUST NOT be any white space around the object operator UNLESS multilines are used. - Loose comparison operators SHOULD NOT be used, use strict comparison operators instead. e.g. use `===` instead of `==`. - The null coalesce operator SHOULD be used when possible. - Assignment operators SHOULD be used when possible. - The `&&` and `||` operators SHOULD be used instead of `and` and `or`. - There MUST be one whitespace after a type casting operator. - There MUST be one whitespace after unary not. - Inherited variables passed via `use` MUST be used in closures. - Code SHOULD be written so it explains itself. DocBlocks and comments SHOULD only be used if necessary. They MUST NOT start with `#` and MUST NOT be empty. They SHOULD NOT be used for already typehinted arguments, except arrays. - The asterisks in a DocBlock should align, and there should be one space between the asterisk and tag. - PHPDoc tags `@param`, `@return` and `@throws` SHOULD not be aligned or contain multiple spaces between the tag, type and description. - If a function throws any exceptions, it SHOULD be documented with `@throws` tags. - DocBlocks MUST follow a specific order of annotations with empty newline between specific groups. - The annotations `@api`, `@author`, `@category`, `@created`, `@package`, `@subpackage` and `@version` MUST NOT be used in comments. Git commits provide accurate information. - The words *private*, *protected*, *static*, *constructor*, *deconstructor*, *Created by*, *getter* and *setter*, MUST NOT be used in comments. - The `@var` tag MAY be used in inline comments to document the *Type* of properties. Single-line property comments with a `@var` tag SHOULD be written as one-liners. The `@var` MAY NOT be used for constants. - The correct tag case of PHPDocs and PHPUnit tags MUST be used. - Inline DocComments MAY be used at the end of the line, with at least a single space preceding. Inline DocComments MUST NOT be placed after curly brackets. - Heredoc and nowdoc tags MUST be uppercase without spaces. ## Deprecated - Nothing. ## Removed - Nothing. ## Fixed - [#16](https://togithub.com/laminas/laminas-coding-standard/pull/16) fixes the placement of strict type declarations. - [#12](https://togithub.com/laminas/laminas-coding-standard/pull/12) fixes coding standard name.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
Read more information about the use of Renovate Bot within Laminas.