dev-main 2024-08-04 15:19 UTC

This package is auto-updated.

Last update: 2024-09-04 15:33:37 UTC


README

本项目旨在为Laravel项目提供一套通用的编码规范和静态分析配置。

目的

本项目的目的是分享一套标准化的PHP-CS-Fixer和PHPStan配置,可以轻松地在不同的Laravel项目中使用。通过使用此配置,您可以确保整个代码库中的代码格式、风格和静态分析的一致性。

安装

要使用此配置,请安装此Composer包

composer require --dev avengerscodelovers/laravel-cs

用法

代码规范

您可以使用PHP-CS-Fixer检查代码规范,使用--config选项格式化代码

./vendor/bin/php-cs-fixer fix --config=./vendor/avengerscodelovers/laravel-cs/.php-cs-fixer.dist.php

为了集成CI,您可以使用以下命令来验证代码是否遵守规范

./vendor/bin/php-cs-fixer fix --dry-run -v --config=./vendor/avengerscodelovers/laravel-cs/.php-cs-fixer.dist.php

通过使用此配置,PHP-CS-Fixer将应用定义的规则到您的代码库中,确保它遵守编码规范。

您还可以将PHP-CS-Fixer命令添加到composer.json脚本中

    "scripts": {
        "cs": "php-cs-fixer fix --dry-run -v --config=./vendor/avengerscodelovers/laravel-cs/.php-cs-fixer.dist.php",
        "cs:fix": "php-cs-fixer fix -v --config=./vendor/avengerscodelovers/laravel-cs/.php-cs-fixer.dist.php",
    }

添加脚本后,您可以在终端中执行以下命令来运行PHP-CS-Fixer

composer cs
composer cs:fix

静态分析

要执行代码的静态分析并识别潜在的问题或错误,您可以使用PHPStan。

首先,在应用程序根目录下创建一个phpstan.neonphpstan.neon.dist文件。它可能看起来像这样

includes:
    - ./vendor/avengerscodelovers/laravel-cs/phpstan.neon

parameters:

    paths:
        - app/

    # Level 9 is the highest level
    level: 5

    ## Exclude files or folder from analysis ##
    # excludePaths:
    #    - app/Modules/*/Tests/*

然后,您可以使用以下命令运行PHPStan

./vendor/bin/phpstan analyze

您可以将PHPStan命令添加到composer.json脚本中

"scripts": {
    "phpstan": "phpstan analyse --memory-limit 2G"
}

添加脚本后,您可以在终端中执行以下命令来运行PHPStan

composer phpstan

lint-staged一起使用

您还可以与lint-staged和pre-commit集成,在提交更改时自动运行修复器和静态分析

"lint-staged": {
    "*.php": [
        "composer cs:fix",
        "composer phpstan"
    ]
}