Skip to content

Commit

Permalink
add php_codesniffer
Browse files Browse the repository at this point in the history
  • Loading branch information
NHZEX committed Dec 1, 2021
1 parent e467f5e commit 2f3d343
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 10 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/phpcs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: phpcs

on: [push]

jobs:
tests:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v1

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
extensions: mbstring, fileinfo
coverage: none
tools: cs2pr

- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: Cache dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ env.php-versions }}-${{ hashFiles('**/composer.json') }}
restore-keys: |
${{ runner.os }}-composer-${{ env.php-versions }}-
${{ runner.os }}-composer-
- name: Check Version
run: php -v && php -m && composer -V

- name: Validate composer.json and composer.lock
run: composer validate

- name: Install dependencies (composer.lock)
run: composer install --no-interaction --prefer-dist --no-progress

- name: Run phpcs fix
run: vendor/bin/phpcs --report=checkstyle -q | cs2pr
45 changes: 45 additions & 0 deletions .phpcs.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="PHP_CodeSniffer" xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd">
<description>The coding standard for PHP_CodeSniffer itself.</description>

<file>driver</file>
<file>src</file>

<arg name="basepath" value="."/>
<arg name="extensions" value="php" />
<arg name="colors"/>
<arg name="parallel" value="75"/>
<!-- -n 忽略警告,-w 打印警告 -->
<arg value="nsp"/>

<!-- Don't hide tokenizer exceptions -->
<rule ref="Internal.Tokenizer.Exception">
<type>error</type>
</rule>

<rule ref="PSR12">
<exclude name="PSR12.Files.FileHeader.SpacingAfterBlock"/>
<exclude name="PSR12.ControlStructures.ControlStructureSpacing.FirstExpressionLine"/>
<exclude name="PSR2.Classes.PropertyDeclaration.SpacingAfterType"/>
</rule>

<rule ref="PSR12.Classes.ClassInstantiation.MissingParentheses">
<type>warning</type>
</rule>

<rule ref="Generic.Formatting.MultipleStatementAlignment">
<type>warning</type>
</rule>

<!-- Ban some functions -->
<rule ref="Generic.PHP.ForbiddenFunctions">
<properties>
<property name="forbiddenFunctions" type="array">
<element key="sizeof" value="count"/>
<element key="delete" value="unset"/>
<element key="create_function" value="null"/>
</property>
</properties>
</rule>

</ruleset>
9 changes: 0 additions & 9 deletions .styleci.yml

This file was deleted.

3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
"phpunit/phpunit": "^7|^8",
"symfony/var-dumper": "^5.0",
"topthink/think-template": "^2.0",
"voku/portable-ascii": "^1.4.8"
"voku/portable-ascii": "^1.4.8",
"squizlabs/php_codesniffer": "^3.6"
},
"suggest": {
"ramsey/uuid": "Required to use Str::uuid() (^3.7).",
Expand Down

0 comments on commit 2f3d343

Please sign in to comment.