Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Cs Fixer Config Laravel Package

prooph/php-cs-fixer-config

Shared PHP-CS-Fixer configuration from the prooph team. Provides a ready-to-use ruleset and presets to keep PHP code style consistent across projects, with an easy way to apply and maintain formatting standards in CI or local development.

View on GitHub
Deep Wiki
Context7

php-cs-fixer-config

PHP CS Fixer config for prooph components

Build Status Coverage Status Gitter

It's based on the ideas of refinery29/php-cs-fixer-config.

Installation

Run

$ composer require --dev prooph/php-cs-fixer-config

Add to composer.json;

"scripts": {
  "check": [
    "@cs",
  ],
  "cs": "php-cs-fixer fix -v --diff --dry-run",
  "cs-fix": "php-cs-fixer fix -v --diff",
}

Usage

Configuration

Create a configuration file .php-cs-fixer.php in the root of your project:

<?php

$config = new Prooph\CS\Config\Prooph();
$config->getFinder()->in(__DIR__);
$config->getFinder()->append(['.php-cs-fixer.php']);

$cacheDir = getenv('TRAVIS') ? getenv('HOME') . '/.php-cs-fixer' : __DIR__;

$config->setCacheFile($cacheDir . '/.php-cs-fixer.cache');

return $config;

Header

When you create a .docheader in the root of your project it will be used as header comment.

It is recommended to use the following template but you may use anything you want.

This file is part of `%package%`.
(c) 2016-%year% prooph software GmbH <[email protected]>
(c) 2016-%year% Sascha-Oliver Prolic <[email protected]>

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.

Git

Add .php-cs-fixer.cache (this is the cache file created by php-cs-fixer) to .gitignore:

vendor/
.php-cs-fixer.cache

Travis

Update your .travis.yml to cache the .php-cs-fixer.cache file:

cache:
  directories:
    - $HOME/.php-cs-fixer.cache

Then run php-cs-fixer in the script section:

script:
  - vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php --verbose --diff --dry-run

Fixing issues

Manually

If you need to fix issues locally, just run

$ composer cs-fix

Pre-commit hook

You can add a pre-commit hook

$ touch .git/pre-commit && chmod +x .git/pre-commit

Paste this into .git/pre-commit:

#!/usr/bin/env bash

echo "pre commit hook start"

CURRENT_DIRECTORY=`pwd`
GIT_HOOKS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

PROJECT_DIRECTORY="$GIT_HOOKS_DIR/../.."

cd $PROJECT_DIRECTORY;
PHP_CS_FIXER="vendor/bin/php-cs-fixer"

HAS_PHP_CS_FIXER=false

if [ -x "$PHP_CS_FIXER" ]; then
    HAS_PHP_CS_FIXER=true
fi

if $HAS_PHP_CS_FIXER; then
    git status --porcelain | grep -e '^[AM]\(.*\).php$' | cut -c 3- | while read line; do
        ${PHP_CS_FIXER} fix --config-file=.php-cs-fixer.php --verbose ${line};
        git add "$line";
    done
else
    echo ""
    echo "Please install php-cs-fixer, e.g.:"
    echo ""
    echo "  composer require friendsofphp/php-cs-fixer:2.0.0"
    echo ""
fi

cd $CURRENT_DIRECTORY;
echo "pre commit hook finish"

License

This package is licensed using the MIT License.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc