Skip to content

plumthedev/yii2-php-cs-fixer-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dear Packagist maintainer, looks it is me plumthedev and I really really need your help! Could you change my email to kacper.pruszynski99@gmail.com? Thanks in advance!

Yii2 PHP CS Fixer Config

Packagist downloads GitHub license GitHub stars

PHP CS Fixer config for Yii2 projects. Contains Config and Finder which excludes by default Yii2 app basic and advanced directories.
The ruleset is grab from Yii 2 ecosystem and is automatically updated with it.

Installation

$ composer require --dev plumthedev/yii2-php-cs-fixer-config

Usage

Create a configuration file .php_cs in the root of your project:

<?php
$composerJsonPath = __DIR__ . '/composer.json';
$composerJson = file_get_contents($composerJsonPath);
$composerProject = json_decode($composerJson);
$currentYear = date('Y');

$projectHeader = <<<HEADER
Yii2 PHP CS Fixer Config

@author Kacper Pruszynski (plumthedev)
@link https://github.com/plumthedev/yii2-php-cs-fixer-config
@copyright Copyright (c) 2019 - {$currentYear} plumthedev
@license https://github.com/plumthedev/yii2-php-cs-fixer-config/blob/master/LICENSE
@version {$composerProject->version}
HEADER;

use plumthedev\PhpCsFixer\Config;

$csConfig = Config::create();

// CS Config setup
$csConfig->mergeRules([
    'header_comment' => [
        'header' => $projectHeader,
        'commentType' => 'PHPDoc',
        'separate' => 'bottom',
    ]
]);

// CS Finder setup
$csConfigFinder = $csConfig->getFinder();
$csConfigFinder->in(__DIR__); // set current project directory
$csConfig->setFinder($csConfigFinder);

return $csConfig;

Running the tests

PHPUnit

$ composer unit-tests

PHP CS Fixer

$ composer cs-fix

Contributing

This library is open source so if you want to contribute, you can.

Please submit bug reports, suggestions and pull requests to the GitHub issue tracker.

License

This project is licensed under the MIT License - see the LICENSE file for details