This is the PHP coding standard for the Imbo project and all related tools. The ruleset is enforced using the PHP Coding Standards Fixer tool.
First, add this package and php-cs-fixer as development dependencies:
composer require --dev imbo/imbo-coding-standard ^2.0 friendsofphp/php-cs-fixer
then, create a configuration file named .php-cs-fixer.php
local to your repository that includes the following:
<?php declare(strict_types=1);
require 'vendor/autoload.php';
$finder = (new PhpCsFixer\Finder())
->in(__DIR__)
->append([__FILE__]);
return (new Imbo\CodingStandard\Config())
->setFinder($finder);
Adjust the paths if necessary. Now you can run the following command to check the coding standard in your project:
vendor/bin/php-cs-fixer check --diff
All Imbo-related projects use GitHub workflows, and checking the coding standard should be a part of that workflow:
name: CI workflow
on: push
jobs:
php-cs-fixer:
runs-on: ubuntu-latest
name: Check coding standard
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
- name: Install dependencies
run: composer install
- name: Check coding standard
run: vendor/bin/php-cs-fixer check --diff
All Imbo-related projects use Composer, and checking / fixing coding standard violations should be done using Composer scripts in composer.json
:
{
"scripts": {
"cs": "vendor/bin/php-cs-fixer check --diff",
"cs:fix": "vendor/bin/php-cs-fixer fix --diff"
}
}