PhpStorm 초기 설정 — Local 환경

중고 개발자
중고 개발자
Published in
8 min readJun 19, 2022

PHP IDE인 PhpStorm을 설치하고 초기 설정을 완료한다. 개인적으로 공부할 때는 VS Code를 사용해 개발해도 문제가 없지만, 둘다 사용해본 결과 실무에서는 PhpStorm이 더 개발 생산성에 도움되는 도구인 것 같다.

PhpStorm 설치

JetBrains 홈페이지에 접속해 PhpStorm을 다운로드 한다. 실무에서 사용하기 때문에 회사에서 라이센스 비용을 지원하고 있다.(1년에 약 2만 5천엔) 학생인 경우 이메일을 인증하여 무료로 사용할 수 있고, Java IDE로 유명한 IntelliJ도 사용 가능하다. 학생이 아니어도 30일 무료 체험할 수 있다.

버전

스토리 작성 시점에서 사용하고 있는 버전은 다음과 같다.

  • OS: macOS Monterey 12.4
  • PhpStorm: 2022.1.1
  • PHP: 7.4.28
  • Xdebug: 3.1.3
  • PHPUnit: 9.5.20
  • PHP CodeSniffer: 3.6.1
  • Laravel: 6.20.44
  • GitHub: laravel-bank-account (예제 프로젝트)

PHP 설정

PHP language level

PhpStorm에서 Preferences 설정 창을 연다. 좌측에서 PHP 페이지를 열고, PHP Language level 항목에서 현재의 PHP 버전을 선택한다.

다음 명령어를 통해 현재 PHP 버전을 확인한다.

php --version

CLI 인터프리터

CLI 인터프리터 설정은 2가지 방법이 있다. 본 스토리에서는 로컬 환경만 다룬다.

  • local PHP interpreters
  • remote PHP interpreters

로컬 PHP 인터프리터

로컬 PHP 인터프리터는 원격 PHP 인터프리터와 반대로, 원격 호스트나 가상 환경이 아닌 자신의 컴퓨터에 설치된 PHP 엔진이다.

  • Preferences 설정 창을 열고 PHP 페이지를 선택한다.
  • CLI Interpreter 항목에서 우측의 … 을 선택한다.
  • 좌측 상단의 + 를 선택하고, 사용하고자 하는 로컬의 PHP를 선택한다.
  • PHP executable 항목이 맞는지 확인한다. 그리고 Configuration file 항목에 php.ini 경로가 있다.
  • Xdebug 설정이 되어 있지 않다면 다음과 같이 php.ini 파일에 설정을 추가한다.
[xdebug]
zend_extension="/usr/local/lib/php/pecl/20190902/xdebug.so"
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9000

Debug 설정

Breakpoints 걸고 디버깅하면서 개발하기 위한 설정이다.

  • Preferences 설정 창을 열고 PHP > Debug 페이지를 선택한다.
  • 디버깅을 시작하려면, 3번 Start Listening을 선택한다. Xdebug의 포트는 위의 php.ini 파일에서 입력한 포트와 동일하게 입력한다.

Test 설정

Test Frameworks

로컬에서 PHPUnit을 실행하기 위해 테스트 프레임워크를 설정한다.

  • Preferences 설정 창을 열고 PHP > Test Frameworks 페이지를 선택한다.
  • 좌측 상단의 + 를 선택하고, PHPUnit Local을 선택한다.
  • PHPUnit library 항목의 path를 현재 프로젝트 루트의 vendor/autoload.php 를 입력한다. Test Runner 항목의 Default configuration file은 프로젝트 루트의 phpunit.xml 을 입력한다. (vendor 디렉토리와 phpunit.xml 파일은 라라벨에서 기본적으로 구성된다.)

PHPUnit

PHPUnit을 실행하기 위해 Run/Debug 구성을 설정한다.

  • 재생 버튼 좌측의 박스를 선택해 Edit Configuration… 을 선택해 Run/Debug 구성 창을 연다.
  • 좌측 상단의 + 를 선택하고 PHPUnit을 선택한다.
  • Test scope는 Defined in the configuration file 옵션을 선택해 기본 설정 파일을 참조하게 한다. Command Line의 인터프리터는 환경에 맞게 선택한다. (현재는 로컬 환경)

위에서 설정한 phpunit.xml 파일이 PHPUnit 테스트를 위한 기본 구성 파일로 설정된다. 라라벨 설치 시 기본적으로 구성된 phpunit.xml 파일은 tests 디렉토리 하위에 있는 Test.php 파일이 실행되도록 셋팅되어 있다.

  • 설정 후 우측 상단에서 벌레 모양의 버튼을 클릭해 디버깅을 시작한다.

혹은 최상단의 Run 메뉴에서 Debug로 시작하는 옵션을 선택해도 된다.

  • Breakpoints를 걸어둔 Line에 멈추어서 디버깅을 할 수 있다.

해당 PHPUnit 테스트 파일 실행 시 사용되는 변수에 대한 값들을 확인할 수 있다.

Coverage 설정

PHPUnit 테스트 시 Code Coverage를 측정한다.

  • Preferences 설정을 열고 Build, Execution, Deployment > Coverage 페이지를 선택한다. 다음과 같이 Activate Coverage View 항목이 체크되어 있으면 코드에 대한 Coverage 측정 결과를 볼 수 있다.
  • 우측 상단의 방패 모양과 재생 버튼이 있는 버튼을 클릭해 Coverage를 실행한다.

혹은 최상단의 Run 메뉴에서 Run ~ with Coverage 옵션을 선택해도 된다.

  • Coverage 실행이 완료되면 다음과 같이 File Coverage 및 Line Coverage를 측정한 결과를 보여준다.

Quality Tools 설정

코딩 표준을 위반하는지 검사하기 위한 도구인 PHP CodeSniffer를 설정한다.

  • Preferences 설정을 열고 PHP > Quality Tools 페이지를 선택한다. PHP_CodeSniffer의 Configuration 항목 우측에서 … 을 선택한다.
  • PHP_CodeSniffer path를 입력하고 Validate 버튼을 클릭한다. 하단에 버전이 표시되면 정상이다. Validate 후 PHP_CodeSniffer inspection을 선택한다.
  • Inspections 창이 표시된다. PHP_CodeSniffer validation 항목에 체크한다. 설정 후 소스 코드를 열면 자동으로 유효성 검사를 한 결과가 표시된다.
  • PHP 파일을 열면, 해당 파일에서 코딩 표준을 준수하지 않은 함수에 phpcs 결과가 자동으로 출력된다.
  • 원하는 코딩 표준을 입력하여 현재 디렉토리 전체에 대해 코딩 표준 검사를 실시한 후, 결과를 xml 파일로 작성할 수 있다.
phpcs --standard=<standard> --report=xml --report-file=report.xml .

--

--