aminurislamarnob/wp-php-cs-fixer

This package is abandoned and no longer maintained. No replacement package was suggested.

WordPress rules for php-cs-fixer

dev-main 2023-05-28 18:39 UTC

This package is auto-updated.

Last update: 2024-04-28 20:27:13 UTC


README

A set of custom fixers for PHP CS Fixer, specially for WordPress. This is the modified version of tareq1988/wp-php-cs-fixer which is made by Tareq Hasan, Founder & CTO of weDevs.

What is php-cs-fixer?

The php-cs-fixer or PHP Coding Standards Fixer is an awesome tool created by the super awesome people at Symfony.

It helps your PHP code/repository to follow a certain coding standard defined by you team.

What are WordPress Fixers?

WordPress uses a bit different coding standard from the rest of the world. It doesn't follow PSR standards yet.

The aim of this WordPress specific fixers is to allow WordPress developers to standardize their code according to the WordPress Coding Standard.

Available Fixers

  1. Space Inside Parenthesis: This fixer ensures that when defining functions, if/else blocks, or control structures which have parenthesis, a space after the starting parenthesis and before the ending parenthesis exists. Rule name: AiArnob/space_inside_parenthesis.
  2. Blank Line After Class Opening: PSR standards have the class opening brace on a new line, WordPress follows the same line standard. This ensures after the opening brace, one blank line exists (equals to two \n). Rule name: AiArnob/blank_line_after_class_opening.

Installation

PHP CS Fixer: PHP CS fixers can be installed by running(as dev dependency):

composer require friendsofphp/php-cs-fixer

WP PHP CS Fixer: custom fixers can be installed by running:

composer require --dev aminurislamarnob/wp-php-cs-fixer

Other Settings

Add the below packages to composer.json file inside "require-dev": {}

"wp-coding-standards/wpcs": "dev-master",
"phpcompatibility/php-compatibility": "*",
"phpcompatibility/phpcompatibility-wp": "*",
"dealerdirect/phpcodesniffer-composer-installer": "^0.7"

Add the below config to composer.json file inside "config": {}

"allow-plugins": {
    "dealerdirect/phpcodesniffer-composer-installer": true
}

Finally you need to run the command composer update to install dependency packages.

Usage

Create file (.php-cs-fixer.php) to your plugin directory and copy paste the below code to the file:

<?php
// add the custom fixers
require_once __DIR__ . '/vendor/aminurislamarnob/wp-php-cs-fixer/loader.php';

$finder = PhpCsFixer\Finder::create()
    ->exclude('node_modules')
    ->exclude('vendors')
    ->in( __DIR__ )
;

$config = new PhpCsFixer\Config();
$config
    ->registerCustomFixers([
        new AiArnob\Fixer\SpaceInsideParenthesisFixer(),
        new AiArnob\Fixer\BlankLineAfterClassOpeningFixer()
    ])
    ->setRiskyAllowed(true)
    ->setUsingCache(false)
    ->setRules( AiArnob\Fixer\Fixer::rules() )
    ->setFinder( $finder )
;

return $config;

Fix by Run Command

Upon configuring everything, run php-cs-fixer fix from the commandline.