DevToolPal
한국어

PHP 포매터

공식 Prettier PHP 플러그인으로 PHP 코드를 PER Coding Style(PSR-12)에 맞게 정리합니다.

로컬에서 실행, 업로드 없음

옵션

들여쓰기
중괄호

입력

0자 · 0 B

출력

0자 · 0 B

기능 소개

PHP 포매터는 지저분하거나, 압축되었거나, 들여쓰기가 들쭉날쭉한 PHP 코드를 커뮤니티 코딩 표준에 맞는 깔끔한 코드로 바꿉니다. 타입 지정 속성과 readonly 속성, 생성자 프로모션, 화살표 함수, enum, match 표현식, 어트리뷰트 같은 최신 문법도 처리합니다.

내부적으로 공식 PHP 플러그인을 단 Prettier를 실행합니다. 많은 Laravel, Symfony 팀이 에디터와 pre-commit 훅에서 쓰는 것과 같은 조합이므로, 결과가 여러분의 도구가 만들어 낼 출력과 일치합니다.

사용 방법

  1. PHP 코드를 붙여 넣거나 .php 파일을 엽니다. 짧은 코드 조각이라면 여는 태그 <?php는 없어도 됩니다.
  2. 입력하는 동안 포맷된 코드가 오른쪽에 나타납니다.
  3. 옵션을 조정합니다.
    • 들여쓰기: PSR 표준은 공백 4칸이며, 공백 2칸과 탭도 고를 수 있습니다.
    • 줄 너비: 이보다 긴 줄은 문법이 허용하는 곳에서 줄바꿈됩니다.
    • 중괄호: 클래스와 함수의 중괄호를 다음 줄(PER / PSR-12) 또는 같은 줄에 둡니다.
    • PHP 버전: 코드가 실행되어야 하는 가장 오래된 버전입니다.
    • 여러 줄 목록에 쓰는 작은따옴표와 후행 쉼표.
  4. 결과를 복사하거나 다운로드합니다.

코드에 문법 오류가 있으면 파서가 무엇을 기대했는지와 멈춘 행과 열을 메시지로 알려 줍니다.

예시

예시는 모든 것이 뒤엉킨 Laravel 스타일 컨트롤러입니다. 그룹 use 문, 속성 배열, 생성자 프로모션, 유효성 검사 호출, 한 줄로 쓴 if, 화살표 함수를 쓰는 array_map이 들어 있습니다. 포맷하면 각 메서드의 중괄호가 별도 줄로 옮겨지고, 연산자와 => 주위에 공백이 들어가며, if 본문이 펼쳐지고, 긴 response()->json() 호출은 배열 항목을 한 줄에 하나씩 두고 후행 쉼표를 붙여 줄바꿈됩니다.

바꾸지 않는 것

포매터는 레이아웃만 바꿉니다. 변수 이름을 바꾸거나, use 문을 정렬하거나, array()를 짧은 문법으로 바꾸거나, 로직을 고치지 않습니다. PHPDoc 블록을 포함한 주석은 그대로 보존되며 주변 코드에 맞춰 다시 들여쓰기됩니다.

팁

  • 프로젝트의 Prettier나 PHP-CS-Fixer 설정과 같은 줄 너비와 PHP 버전을 쓰면 diff에 불필요한 변경이 생기지 않습니다.
  • 로그나 스택 트레이스에서 복사한 코드 조각을 포맷하면 훨씬 읽기 쉬워집니다.
  • 이슈에 코드를 공유할 때 먼저 포맷하면 리뷰어가 코드의 동작에 집중할 수 있습니다.

자주 묻는 질문

› 어떤 코딩 스타일을 따르나요?

기본적으로 PHP-FIG가 발표한 PSR-12의 후속 표준인 PER Coding Style을 따릅니다. 클래스와 메서드의 중괄호는 별도 줄에, 제어 구조의 중괄호는 같은 줄에 두며, 들여쓰기는 공백 4칸입니다.

› PHP 버전은 왜 중요한가요?

어떤 문법은 특정 버전부터만 유효합니다. 예를 들어 매개변수 목록의 후행 쉼표는 PHP 8.0이 필요하므로, 더 오래된 버전을 대상으로 하면 포매터가 이를 넣지 않습니다. 코드가 실행되어야 하는 가장 오래된 버전을 고르세요.

› HTML과 PHP가 섞인 파일도 포맷할 수 있나요?

네. 인라인 HTML과 짧은 echo 태그가 들어간 템플릿 파일을 지원합니다. PHP 부분만 포맷하고 그 사이의 HTML은 그대로 둡니다.

› 코드가 업로드되나요?

아니요. 포매터는 전적으로 브라우저에서 실행되며 서버로 전송되는 것은 없습니다.