> 백엔드 개발 > PHP 튜토리얼 > php-cs-fixer는 매우 유용합니다! 코드 스타일을 자동으로 수정할 수 있습니다~

php-cs-fixer는 매우 유용합니다! 코드 스타일을 자동으로 수정할 수 있습니다~

藏色散人
풀어 주다: 2023-04-10 20:02:01
앞으로
4329명이 탐색했습니다.

php-cs-fixer는 형식 지정뿐 아니라 코드 스타일 수정도 자동으로 도와줍니다. 코드를 저장할 때 자동 서식 지정만 필요한 경우 PhpStorm에서 다음을 설정할 수 있습니다.

이전에 다른 사람이 게시한 프로젝트를 본 적이 있는데 대부분 PhpStorm에서 저장할 때 자동 서식 지정이 되어 있지 않습니다. 켜져 있지 않습니다.

자동 php-cs-fixer 수정 코드를 저장하는 방법부터 시작해 보겠습니다.

php-cs-fixer는 매우 유용합니다! 코드 스타일을 자동으로 수정할 수 있습니다~

Environment

PhpStorm

PHP 8

  • php-cs-fixer 설치
  • 여기에서 전역 설치를 사용하세요
composer global require friendsofphp/php-cs-fixer
로그인 후 복사

https://cs.symfony.com/doc/installation을 참조하세요. HTML

프로젝트 루트 경로에서 다음 콘텐츠로 .php-cs-fixer.php라는 새 파일을 만듭니다.

<?phpuse  PhpCsFixer\Config;use PhpCsFixer\Finder;$rules = [
    &#39;@PHP80Migration&#39; => true,

    'ordered_imports' => [
        'sort_algorithm' => 'alpha',
    ],
    'class_attributes_separation' => [
        'elements' => [
            'const' => 'one',
            'method' => 'one',
            'property' => 'one',
        ],
    ],];$finder = Finder::create()
    ->in([
        __DIR__.'/app',
        __DIR__.'/config',
        __DIR__.'/database',
        __DIR__.'/resources',
        __DIR__.'/routes',
        __DIR__.'/tests',
    ])
    ->name('*.php')
    ->notName('*.blade.php')
    ->ignoreDotFiles(true)
    ->ignoreVCS(true);return (new Config())
    ->setFinder($finder)
    ->setRules($rules)
    ->setRiskyAllowed(true)
    ->setUsingCache(true);
로그인 후 복사
그런 다음 PhpStorm에서

php-cs-fixer는 매우 유용합니다! 코드 스타일을 자동으로 수정할 수 있습니다~을 설정합니다. php-cs-fixer (self 좋아요)

파일 유형: PHPphp-cs-fixer는 매우 유용합니다! 코드 스타일을 자동으로 수정할 수 있습니다~

프로그램: php-cs-fixer
  • 매개변수: fix $FileDir$/$FileName$ -vvv –diff
  • 새로 고칠 출력 경로: $FileDir$/$FileName $
  • 작업 디렉터리: $ProjectFileDir$
  • 편집된 파일을 자동으로 저장하여 관찰자 실행: 기본 확인 표시 제거
  • 콘솔 표시: 항상으로 변경
  • 언급해야 할
  • 매개변수에 대해 이야기해 보겠습니다.
여기서는 많은 것을 표시하는 디버그 모드-vvv가 사용됩니다. 나중에 귀찮다고 느끼면 제거할 수 있습니다.

–diff는 콘솔 디스플레이를 켠 후 수정된 내용을 표시할 수 있습니다. " 기사 아래
    • 새로 고칠 출력 경로: 이것은 복사되었으며, 현재 효과를 확인해야 합니다.
    • 편집된 파일을 자동으로 저장하여 관찰 프로그램을 실행합니다. 즉, 무언가를 입력하는 한, 자동으로 저장되며, php-cs-fixer를 실행하기 위해 저장하기 위해 command + s를 사용할 필요가 없습니다. 개인적으로는 수동으로 저장하는 것이 더 익숙하기 때문에 취향에 맞게 설정해주세요.
    디스플레이 콘솔: 수정된 내용을 표시하기 위해 –diff와 함께 사용
  • 효과의 예

저장하면 코드가 자동으로 수정됩니다. 여기서는 PHP 7 스타일로 수정됩니다. 위에 .

php-cs-fixer는 매우 유용합니다! 코드 스타일을 자동으로 수정할 수 있습니다~

콘솔에 다음이 표시됩니다.

php-cs-fixer는 매우 유용합니다! 코드 스타일을 자동으로 수정할 수 있습니다~콘솔 디스플레이를 켠 후

/Users/dogeow/.composer/vendor/bin/php-cs-fixer fix /Users/dogeow/PhpstormProjects/antic-api/routes/console.php -vvv --diff
Cannot load Xdebug - it was already loaded
PHP CS Fixer 3.3.2 Trinacria by Fabien Potencier and Dariusz Ruminski
Runtime: PHP 8.0.8
Loaded config default from "/Users/dogeow/PhpstormProjects/antic-api/.php-cs-fixer.php".
Using cache file ".php-cs-fixer.cache".
Paths from configuration file have been overridden by paths provided as command arguments.
F                                                                   1 / 1 (100%)
Legend: ?-unknown, I-invalid file syntax (file ignored), S-skipped (cached or empty file), .-no changes, F-fixed, E-error
   1) routes/console.php (assign_null_coalescing_to_coalesce_equal)
      ---------- begin diff ----------
--- /Users/dogeow/PhpstormProjects/antic-api/routes/console.php
+++ /Users/dogeow/PhpstormProjects/antic-api/routes/console.php
@@ -90,5 +90,5 @@
 });

 Artisan::command(&#39;test&#39;, function () {
-    $taskTag[&#39;name&#39;] = $taskTag[&#39;name&#39;] ?? &#39;url&#39;;
+    $taskTag[&#39;name&#39;] ??= &#39;url&#39;;
 });

      ----------- end diff -----------


Fixed all files in 0.024 seconds, 14.000 MB memory used

进程已结束,退出代码为 0
로그인 후 복사

물론 명령줄에서 수동으로 실행하여 전체 앱 디렉터리를 일괄 수정할 수도 있습니다. 또는 git을 사용하여 제출 전에 자동으로 수정하세요.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 php-cs-fixer는 매우 유용합니다! 코드 스타일을 자동으로 수정할 수 있습니다~의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿