slevomat / coding-standard

Slevomat Coding Standard for PHP_CodeSniffer provides many useful sniffs
MIT License
1.37k stars 170 forks source link

Proposal for Sniff: `SlevomatCodingStandard.Classes.ConstructorPropertyPromotionSpacing` #1684

Open freerich opened 1 month ago

freerich commented 1 month ago

Documentation

SlevomatCodingStandard.Classes.ConstructorPropertyPromotionSpacing 🔧

Checks that there is a certain number of blank lines between promoted properties in constructor.

Sniff provides the following settings:

Code Samples

final class AddAddress implements Command
{
    public function __construct(
        #[NotBlank]
        public string $street,

        #[NotBlank]
        #[Regex(pattern: '/^[0-9]{5}$/', message: 'postcode.must_be_5_digit_number')]
        public string $postcode,

        #[NotBlank]
        public string $city,
    ) {
    }
}
final readonly class AddAddressHandler implements CommandHandler
{
    public function __construct(
        private AddressRepository $repository,
        private EventBus $eventBus,
    ) {
    }
}