/php-cs-fixer-config

PHP CS Fixer configuration for Cartalyst projects

Primary LanguagePHPBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

PHP CS Fixer Config

This repository provides a base configuration for friendsofphp/php-cs-fixer, which we use to verify and enforce a single coding standard for PHP code written on Cartalyst.

Installation

Run the following:

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

Usage

Now that the package is installed, create a configuration file called .php_cs or .php_cs.php at the root of your project with the following contents:

<?php

// Create a new CS Fixer Finder instance
$finder = PhpCsFixer\Finder::create()->in(__DIR__);

return Cartalyst\PhpCsFixer\Config::create()
    ->setFinder($finder)
;

Ignoring files and/or directories

There will be certain situations where you might want to ignore certain files or directories to not be linted.

Luckily, this is quite easy to achieve and all you need to do is to perform some calls on the CS Fixer Finder instance :)

Here's a simple example where we ignore both files and directories:

<?php

// Directories to not scan
$excludeDirs = [
    'vendor/',
];

// Files to not scan
$excludeFiles = [
    'config/app.php',
];

// Create a new CS Fixer Finder instance
$finder = PhpCsFixer\Finder::create()
    ->in(__DIR__)
    ->exclude($excludeDirs)
    ->ignoreDotFiles(true)
    ->ignoreVCS(true)
    ->filter(function (\SplFileInfo $file) use ($excludeFiles) {
        return ! in_array($file->getRelativePathName(), $excludeFiles);
    })
;

return Cartalyst\PhpCsFixer\Config::create()->setFinder($finder);

Enforce coding standards for PHPUnit tests

If you would like to also enable coding standards on your tests, you can call the withPHPUnitRules() method on the Config class, like so:

<?php

// Create a new CS Fixer Finder instance
$finder = PhpCsFixer\Finder::create()->in(__DIR__);

return Cartalyst\PHPCsFixer\Config::create()
    ->setFinder($finder)
    ->withPHPUnitRules()
;

Contributing

Thank you for your interest in PHP CS Fixer Config. Here are some of the many ways to contribute.

Security

If you discover any security related issues, please email help@cartalyst.com instead of using the issue tracker.

License

PHP CS Fixer Config is licenced under the BSD 3-Clause. Please see the license file for more information.