jackiedo / artisan-php-cs-fixer
A PHP-CS-Fixer bridge for use via Artisan CLI on Laravel.
Requires
- php: >=7.3.0
- friendsofphp/php-cs-fixer: ^3.0
- illuminate/support: ^8.0|^9.0
- jackiedo/path-helper: ^1.0
Requires (Dev)
- illuminate/console: ^8.0|^9.0
README
The PHP Coding Standards Fixer tool fixes most issues in your code when you want to follow the PHP coding standards as defined in the PSR-1 and PSR-2 documents and many more.
If you are already using a linter to identify coding standards problems in your code, you know that fixing them by hand is tedious, especially on large projects. This tool does not only detect them, but also fixes them for you.
These are introductions from authors who created PHP-CS-Fixer and this package is a PHP-CS-Fixer bridge for use via Artisan CLI on Laravel. From now on, you can easily use PHP-CS-Fixer differently for each Laravel project with your team instead of installing a global fixer.
Features of this package
- Use PHP-CS-Fixer differently for each Laravel project.
- Run PHP-CS-Fixer command via Laravel Artisan CLI.
- Easily export the fixer configuration to set up or share with team.
Overview
Look at one of the following topics to learn more about Artisan PHP CS Fixer
Versions and compatibility
Artisan PHP CS Fixer don't support Laravel 4.x. Currently, this package have following branchs compatible with Laravel 5.x and later:
Note: This documentation is used for branch 3.x
Note for the version 3.x
If you have used this package before, please see here for the change in v3.x
Installation
You can install this package through Composer. At the root of your Laravel application directory, run the following command (in any terminal client):
$ composer require jackiedo/artisan-php-cs-fixer
Usage
Get version
Display PHP-CS-Fixer version installed.
Syntax:
$ php artisan php-cs-fixer:version
Fix code
Fix your code with PHP Coding Standards.
Syntax:
$ php artisan php-cs-fixer:fix [options] [path/to/dir/or/file]
Example:
// Only shows which all files in your project would have been modified, leaving your files unchanged.
$ php artisan php-cs-fixer:fix --dry-run
// Really fixes all files in your project.
$ php artisan php-cs-fixer:fix
// Only fixes all files in the `app` directory
$ php artisan php-cs-fixer:fix app
// Only fixes all files in the `app` directory with specific configuration file
$ php artisan php-cs-fixer:fix --config="path/to/fixer-config/file" app
Describe rule or rule set
Display description/usage of rule or rule set.
Syntax:
$ php artisan php-cs-fixer:describe name/of/rule/or/rule-set
Exampple 1:
$ php artisan php-cs-fixer:describe @Symfony
Exampple 2:
$ php artisan php-cs-fixer:describe array_syntax
Configuration
To change the configuration of the fixer with your own purpose, you need publish the configuration file with the artisan vendor:publish
as follow:
$ php artisan vendor:publish --provider="Jackiedo\ArtisanPhpCsFixer\ArtisanPhpCsFixerServiceProvider"
This will create one file named .php-cs-fixer.php
in the root directory of your project. This file is returned an instance of PhpCsFixer\ConfigInterface
which lets you configure the rules, the files and directories that need to be analyzed. From now and then, you can share this file with all of your developing team members. The rest is you have to think of a way to always sync this file for your team.
Exclusion of the cache file
Whenever you run the artisan php-cs-fixer:fix
command, one file with named .php-cs-fixer.cache
will be created at the root directory of your project. You can exclude this file by append following line into .gitignore
file:
.php-cs-fixer.cache
License
MIT © Jackie Do
PHP CS Fixer official documentation
For more documentation about PHP CS Fixer, you can visit here.
Thanks for use
Hopefully, this package is useful to you.