Git Product home page Git Product logo

php-cs-fixer-config's Introduction

php-cs-fixer-config

PHP CS Fixer config for AzuyaLabs projects

Installation

Run

composer require --dev azuyalabs/php-cs-fixer-config

Usage

Configuration

If not present, create a configuration file .php-cs-fixer.php in the root of your project with the following contents:

<?php

declare(strict_types=1);

$config = new AzuyaLabs\PhpCsFixerConfig\Config();
$config->getFinder()->in(__DIR__);

return $config;

If it already exists, ensure to update it like above.

You can also override any of the default rules like this if you like to do so:

<?php

declare(strict_types = 1);

$config = new AzuyaLabs\PhpCsFixerConfig\Config();
$config->getFinder()->in(__DIR__);

$defaults = $config->getRules();

$config->setRules(array_merge($defaults, [
    '@Symfony' => false,
]));

return $config;

Add two helper scripts to the Composer configuration file:

  ...
"scripts": {
"cs": "vendor/bin/php-cs-fixer fix -v --diff --dry-run",
"cs-fix": "vendor/bin/php-cs-fixer fix -v",
}
...

Git

Add .php-cs-fixer.cache (this is the cache file created by php-cs-fixer) to .gitignore:

.php-cs-fixer.cache
vendor/

GitLab CI/CD

If you have included the two helper scripts in your composer.json file, you can use those in the GitLab CI configuration of your project.

To add a job that will check the Code Style settings as part of your test stage, include this in your .gitlab-ci.yml file:

cs-check:
    stage: test
    script:
        - composer cs

In case you don't want or have the helper Composer script, replace the above composer cs script with vendor/bin/php-cs-fixer fix -v --diff --dry-run

Fixing Code Style issues

Manually

If you need to fix code styling issues locally, just run:

composer cs-fix

Use composer cs to do a dry-run.

Automatically

For those who like to have code styling issues fixed automatically, you can opt to create a Git pre-commit hook, or have your IDE configured to utilize the PHPCS Fixer binary or the configred Composer scripts.

Code Style

This custom configuration is based on the @PER-CS and @Symfony rulesets, with a few additional enabled rules (e.g. concerning spaces, etc.).

php-cs-fixer-config's People

Contributors

stelgenhof avatar

Stargazers

Manuel Dalla Lana avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.