Weave Code
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

amphp/php-cs-fixer-config

Shared PHP-CS-Fixer configuration used across amphp projects. Install as a dev dependency, create a .php_cs.dist that returns Amp\CodeStyle\Config, configure the Finder paths and cache file, and run php-cs-fixer locally or in CI (e.g., Travis) for consistent styling.

View on GitHub
Deep Wiki
Context7

php-cs-fixer-config

This repository contains the common code style configuration for all @amphp projects. It's based on the ideas of refinery29/php-cs-fixer-config.

Build Status

Installation

composer require --dev amphp/php-cs-fixer-config

Usage

Configuration

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

<?php

$config = new Amp\CodeStyle\Config;
$config->getFinder()
    ->in(__DIR__ . "/examples")
    ->in(__DIR__ . "/src")
    ->in(__DIR__ . "/test");

$cacheDir = getenv('TRAVIS') ? getenv('HOME') . '/.php-cs-fixer' : __DIR__;
$config->setCacheFile($cacheDir . '/.php_cs.cache');

return $config;

Git

Add .php_cs.cache (the cache file used by php-cs-fixer) to .gitignore:

vendor/
.php_cs.cache

Travis

Update your .travis.yml to cache the php_cs.cache file:

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

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

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

Fixing issues

Manually

If you need to fix issues locally, run

./vendor/bin/php-cs-fixer fix -v

Pre-commit hook

You can add a pre-commit hook to format the code automatically before each commit.

Run touch .git/pre-commit to create a new hook, make it executable with chmod +x .git/pre-commit and paste the following script into .git/pre-commit:

#!/usr/bin/env bash

echo "Running php-cs-fixer to format the code..."

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 --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 "Done."

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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport