Skip to content

Code style and quality configurations for Laravel projects

License

Notifications You must be signed in to change notification settings

chiiya/laravel-code-style

Repository files navigation


Laravel Code Style

Code style configurations for Laravel projects using a combination of PHP-CS-Fixer, ECS and Rector.

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

index   ·   installation   ·   usage



Index

> Installation ..................................................................... 
> Usage ............................................................................ 

Installation

Install the package using composer. When prompted to create a GrumPHP configuration file, choose "No".

composer require chiiya/laravel-code-style --dev

Usage

# Publish config files
php artisan vendor:publish --tag="code-style-config"

Next, adjust the ecs.php, .php-cs-fixer.dist.php, rector.php and phpstan.neon files that have just been created in your project folder to suit your project structure.

After publishing the configuration files, you may have to re-initialize GrumPHP:

php ./vendor/bin/grumphp git:deinit
php ./vendor/bin/grumphp git:init

The GrumPHP config includes tasks for PHP-CS-Fixer, ECS and TLint by default. Tasks for rector and phpstan are not included, since they can take a long time. You may choose to execute them separately instead (for example, in a CI pipeline), or add them to your GrumPHP config if you're fine with the longer waiting times:

Example for grumphp.yml

grumphp:
  tasks:
    # ...
    rector: ~
    phpstan: ~

Example for a CI config (call these somewhere in your pipeline):

./vendor/bin/ecs check
./vendor/bin/php-cs-fixer fix --dry-run --diff
./vendor/bin/rector process --dry-run
./vendor/bin/tlint lint
./vendor/bin/phpstan analyse --memory-limit=2G

About

Code style and quality configurations for Laravel projects

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages