Contains PHP coding standards like rules for PHP-CS-Fixer that serves for purpose of standardization.
composer require --dev mollie/php-coding-standards
This package makes use of PHP-CS-Fixer.
This package provides default rules to be used with PHP-CS-Fixer.
You can find them in Mollie\PhpCodingStandards\PhpCsFixer\Rules
which has methods specific to php version,
which you can directly use in the ->setRules()
part of your config. For example, assuming PHP version 8.3:
use Mollie\PhpCodingStandards\PhpCsFixer\Rules;
$config->setRules(Rules::getForPhp83());
Place a file named .php-cs-fixer.dist.php
that has the following content in your project's root directory.
<?php
use Mollie\PhpCodingStandards\PhpCsFixer\Rules;
use PhpCsFixer\Config;
use PhpCsFixer\Finder;
$finder = Finder::create()
->in(__DIR__);
return (new Config())
->setFinder($finder)
->setRiskyAllowed(true)
// use specific rules for your php version e.g.: getForPhp74, getForPhp82, getForPhp83
->setRules(Rules::getForPhp74());
Run following command in your project directory, that will run fixer for every .php
file.
vendor/bin/php-cs-fixer fix
Please follow official PhpStorm documentation
Place a file with the content of the following bash script into .git/hooks
directory called pre-commit and make it executable
you can find more details about git hooks on official git manual.
#!/usr/bin/env bash
EXCLUDE_DIRECTORIES_REGEX='^(directory_one/(sub_directory_one|sub_directory_two)|directory_two)/.*'
git diff --diff-filter=ACMRTUXB --name-only --staged | grep -E '\.php(_cs\.dist)?$' | grep -vE $EXCLUDE_DIRECTORIES_REGEX | while read FILE; do
STATUS="$(git status --porcelain ${FILE} | cut -c 1-2)"
vendor/bin/php-cs-fixer fix --using-cache=no --quiet --dry-run ${FILE}
# Not 0 means php-cs-fixer either errored or wanted to make changes
if [ $? != 0 ]
then
# MM = staged & non-staged modification in same file
if [ ${STATUS} = "MM" ]
then
echo -e "\033[31m┌────────────────────────────────────────────────────────────────────────────────┐"
echo -e "│ Failure:\033[39m Codestyle violation(s) in file with both staged and unstaged changes. \033[31m│"
echo -e "├────────────────────────────────────────────────────────────────────────────────┘"
echo -e "└\033[33m File:\033[39m $FILE"
exit 1
fi
vendor/bin/php-cs-fixer fix --using-cache=no --quiet ${FILE}
git add ${FILE}
fi
done
Mollie is always looking for new talent to join our teams. We’re looking for inquisitive minds with good ideas and strong opinions, and, most importantly, who know how to ship great products. Want to join the future of payments? Check out our vacancies.
BSD (Berkeley Software Distribution) License. Copyright (c) 2023, Mollie B.V.