Download the PHP package zvive/fixer without Composer
On this page you can find all versions of the php package zvive/fixer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package fixer
Short Description PHP CS Fixer w/ additional fixers based off of permafrost-dev/phpcsfixer-preset
License MIT
Informations about the package fixer
phpcsfixer-preset
This package allows you to use the same php-cs-fixer formatting rules across all of your projects without copy-and-pasting configuration files. There's also a quick setup script to automatically generate a configuration file for your project structure and preferred formatting preset.
zvive/fixer provides several opinionated php-cs-fixer configuration choices as well as
pre-configured
Finder classes for common project formats and use cases.
Supported PHP versions: 8.1.
The original concept for this package came from this excellent article on sharing php-cs-fixer configurations across projects written by Tim Mcdonald.
Installation
composer require zvive/fixer --dev
Example .php-cs-fixer.dist.php files
This example uses the Laravel project finder and the Default Ruleset:
Standard PhpCsFixer\Finder options can be chained onto the custom Finder class to customize it to your preferences:
You can also use the standard PhpCsFixer\Finder class along with any of the Rulesets:
Overriding Ruleset Rules
When creating a Ruleset class, you may pass an array of php-cs-fixer rules that will add or override the ruleset's default rules.
Quick Setup
To generate a php-cs-fixer configuration file for your project, run:
Parameter: <type>
Required: yes
Default: no default
Possible values:
customprojectpackagelaravel(alias for laravel:project)laravel:projectlaravel:package
Flag: --outfile (or -o)
Required: no
Default: .php-cs-fixer.dist.php
Possible values: any valid filename
Flag: --ruleset (or -r)
Required: no
Default: default
Possible values:
defaultlaravel_shiftphp_unitspatie
Flag: --force (or -f)
Required: no
Default: false
Possible values: none
Effect: overwrites any existing configuration file
Examples:
Note on the custom type:
The custom type will prompt you to enter the directory names you'd like php-cs-fixer to include and exclude. The generated configuration file implements the PhpCsFixer\Finder class instead of one of the preconfigured finder classes.
Automatic Formatting
If you would like to automatically apply php-cs-fixer formatting using Github Actions, see the automation with Github Actions documentation.
Finder Presets
BasicProjectFinder
- ignores VCS files
- ignores dot files
- includes PHP files
- excludes
vendor/directory
LaravelProjectFinder
- inherits
BasicProjectFinderpresets - excludes
*.blade.phpfiles - excludes all files in
bootstrap/,public/,resources/,storage/ - includes PHP files in
app/,config/,database/,routes/,tests/
LaravelPackageFinder
- inherits
BasicProjectFinderpresets - excludes
*.blade.phpfiles - excludes all files in
resources/ - includes PHP files in
src/,tests/,config/
ComposerPackageFinder
- inherits
BasicProjectFinderpresets - includes PHP files in
src/,tests/
Rulesets
Default
-
The default opinionated Ruleset provided by this package.
- View Rules
LaravelShift
- Ruleset used by Laravel Shift.
- View Rules
PhpUnit
- Ruleset used by PHPUnit.
- View Rules
SpatieRuleset
- Ruleset used by SpatieRuleset.
- View Rules
Usage
Select a Finder preset or create an instance of \PhpCsFixer\Finder and return SharedConfig::create($finder) from the .php-cs-fixer.dist.php file.
Updating Default Rules
Update the rules() method in the Zvive\Fixer\Rulesets\DefaultRuleset class.
Creating Rulesets
Create a class that implements the Zvive\Fixer\Rulesets\Ruleset interface, returning your rules from the rules() method.
Sample Ruleset:
If adding a new Ruleset to this package, the Ruleset must be registered in \Zvive\Fixer\Commands\GenerateConfigCommand@rulesets() to allow the quick setup command to use it.
If creating a new Ruleset package for your own use, follow the above example but use a namespace unique to your package.
Formatting Your Code
To format all files specified in the configuration, run:
vendor/bin/php-cs-fixer fix
To see which files will be formatted without making any changes, run:
vendor/bin/php-cs-fixer fix --dry-run
Testing
This package uses PHPUnit for unit tests. To run the test suite, run:
./vendor/bin/phpunit
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributions
Contributions of Rulesets, Finders, bugfixes, suggestions, or improvements are welcomed. Please open an appropriately labeled issue or pull request for any of these.
License
The MIT License (MIT). Please see License File for more information.
All versions of fixer with dependencies
ext-json Version *
illuminate/collections Version ^8.0||^9.0||^10.0
illuminate/support Version ^8.0||^9.0||^10.0
kubawerlos/php-cs-fixer-custom-fixers Version ^3.6
friendsofphp/php-cs-fixer Version ^v3.0
symfony/console Version ^5.0||^6.0