phpcs-psr4-sniff
phpcs-psr4-sniff copied to clipboard
Use {$var} instead of ${var}
trafficstars
背景
php8.2で${var}による文字列への埋め込みが非推奨になった
php8.2環境で、phpcs-psr4-sniffをインストールしphpcsを実行した結果
----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
1 | ERROR | An error occurred during processing; checking has been
| | aborted. The error message was: Using ${var} in strings
| | is deprecated, use {$var} instead in
| | /deploy/vendor/suin/phpcs-psr4-sniff/src/Suin/Sniffs/Classes/PSR4/AutoloadabilityInspectorsFactory.php
| | on line 85 (Internal.Exception)
----------------------------------------------------------------------
Time: 3.27 secs; Memory: 26MB
Script ./vendor/bin/phpcs handling the phpcs event returned with error code 1
メモ:
同じ問題にあたって psr4 の check 方法について調べていました。
composer 2.0 系でサポートされた composer dumpautoload --strict-psr によって
suin/phpcs-psr4-sniff と同様のチェックをできるかも知れません。
https://getcomposer.org/doc/03-cli.md#dump-autoload-dumpautoload
github action 例:
name: COMPOSER-DUMP-AUTOLOAD-STRICT-PSR
on:
push:
branches:
- main
pull_request:
types: [synchronize, opened, reopened]
paths:
- '**/*.php'
jobs:
check-psr4-by-composer-dump-autoload-strict-psr:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Install Dependencies
uses: docker://composer:2.4.1
env:
COMPOSER: composer.json
COMPOSER_VENDOR_DIR: vendor
with:
entrypoint: /usr/bin/composer
args: install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
path: ${{ github.workspace }}
- name: composer psr4 validate
uses: docker://composer:2.4.1
env:
COMPOSER: composer.json
COMPOSER_VENDOR_DIR: vendor
with:
entrypoint: /usr/bin/composer
args: dump-autoload --strict-psr
path: ${{ github.workspace }}
Is there any chance that this is going to get merged? Or has this repository been abandoned?
I tried to port it This would be included in https://github.com/php-collective/code-sniffer/pull/14
But so far it doesn't seem to work for me at all.. Reports nothing on actual issues.