프로덕션에 var_dump()를 배포하지 말고 — PHPStan으로 강제하세요

발행: (2026년 4월 6일 PM 03:43 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

문제

PHPStan은 훌륭하지만, 이와 같은 사용자 정의 규칙을 적용하는 것은 쉽지 않습니다.

다음 중 하나를 선택합니다:

  • 사용자 정의 PHPStan 규칙을 작성한다 (시간 소요)
  • 혹은 금지된 함수와 같은 제한된 방식을 사용한다

원하는 것

다음을 할 수 있는 것이 필요했습니다:

  • 특정 함수(var_dump, dd)를 금지
  • 특정 메서드 호출을 제한
  • 아키텍처 경계 강제
  • PHP 코드를 작성하지 않고도 설정 가능

해결책

금지 패턴을 정의할 수 있는 작은 PHPStan 확장을 만들었습니다:

parameters:
  forbidden_node:
    nodes:
      - type: Expr_FuncCall
        functions: [var_dump, dd]

이제 PHPStan이 다음과 같이 보고합니다:

Forbidden function var_dump() used in App\Service\UserService.php:42

왜 유용한가

다음과 같은 규칙을 적용할 수 있습니다:

  • ❌ 프로덕션에 디버그 함수 금지
  • ❌ 컨트롤러에서 직접 DB 호출 금지
  • ❌ 레이어 간 위반 금지
  • ❌ 안전하지 않은 패턴 금지

레포지토리

👉

0 조회
Back to Blog

관련 글

더 보기 »