코드 품질을 개선하기 위해 모든 Symfony 프로젝트에 필요한 4가지 기본 라이브러리

4457 단어 phpunitphpsymfonyqa
새로운 Symfony 프로젝트를 시작할 때마다 우수한 코드 품질을 위해 어떤 라이브러리가 필요한지 생각해야 합니다. 그것은 저와 다른 모든 Symfony 개발자에게 발생합니다.

이러한 이유로 품질을 향상시키기 위해 필요한 모든 종속성을 포함하는 symfony 스켈레톤 프로젝트를 생성하는 스크립트를 만들기로 결정했습니다.

이 스크립트를 사용하면 모든 symfony 프로젝트에서 사용해야 하는 네 개의 라이브러리를 사용하여 다음 symfony 스켈레톤 프로젝트를 만들 수 있습니다.

아래 코드를 저장하고 다음과 같이 실행합니다.

./symfony-setup-project.sh {project-name}



#!/usr/bin/env bash
set -e
PROJECT=$1
composer create-project symfony/skeleton ${PROJECT}
mkdir ${PROJECT}/tools
mkdir ${PROJECT}/tools/php-cs-fixer
cd ${PROJECT}
composer require --working-dir=tools/php-cs-fixer friendsofphp/php-cs-fixer
composer require --dev phpstan/phpstan
composer require --dev phpunit/phpunit ^9.5
composer require --dev symfony/phpunit-bridge
composer require --dev qossmic/deptrac-shim
tools/php-cs-fixer/vendor/bin/php-cs-fixer fix src
php vendor/bin/phpstan analyse src
php bin/phpunit
php vendor/bin/deptrac analyse


기능:



1. 새 Symfony 애플리케이션 생성




composer create-project symfony/skeleton ${PROJECT}


${PROJECT} 디렉토리를 생성하고 일부 종속 항목을 다운로드하며 시작하는 데 필요한 기본 디렉토리 및 파일도 생성합니다.

2. PHP 코딩 표준 해결사 설치




mkdir ${PROJECT}/tools

mkdir ${PROJECT}/tools/php-cs-fixer

cd ${PROJECT}

composer require --working-dir=tools/php-cs-fixer friendsofphp/php-cs-fixer


the PHP CS Fixer 페이지의 권장 사항에 따라 위의 줄은 표준을 따르도록 코드를 수정하는 PHP CS Fixer 도구를 설치합니다. PSR-1, PSR-2 등에 정의된 PHP 코딩 표준을 따르든 Symfony와 같은 다른 커뮤니티 기반 표준을 따르든 상관 없습니다.

3. PHP 정적 분석 도구 설치




composer require --dev phpstan/phpstan


PHPStan은 실제로 코드를 실행하지 않고 코드에서 오류를 찾는 데 도움이 되는 중요한 라이브러리로, 코드에 대한 테스트를 작성하기 전에도 모든 종류의 버그를 포착합니다. 실제 줄을 실행하기 전에 코드의 각 줄의 정확성을 확인할 수 있다는 점에서 PHP를 컴파일된 언어에 더 가깝게 만듭니다.

4. PHP 테스트 프레임워크 설치




composer require --dev phpunit/phpunit ^9.5

composer require --dev symfony/phpunit-bridge


PHPUnit은 프로그래머 중심의 PHP용 테스트 프레임워크입니다. 단위 테스트 프레임워크를 위한 xUnit 아키텍처의 인스턴스입니다.

5. Deptrac 설치




composer require --dev qossmic/deptrac-shim


Deptrac은 프로젝트에서 아키텍처 결정을 전달, 시각화 및 적용하는 데 도움이 되는 PHP용 정적 코드 분석 도구입니다.

결론



이 네 가지 라이브러리를 Symfony 프로젝트에 사용하면 프로젝트를 실행하거나 테스트를 작성하기 전에도 버그를 포착하고 프로젝트에 대한 테스트를 빌드하기 위해 프로젝트의 모든 클래스에서 동일한 코딩 표준을 따르도록 강제할 수 있습니다. 새 코드 버전을 전달할 때마다 확인하고 아키텍처를 깨끗하게 유지하여 클래스에 대한 아키텍처 계층을 정의하고 어떤 규칙을 적용해야 하는지 확인합니다.

나는 이 라이브러리에 대해 더 많이 쓸 생각이지만, 각 라이브러리에 대한 자세한 내용은 링크를 쉽게 따라갈 수 있습니다.

여기에서 중요한 라이브러리를 놓친 경우 이 지식을 향상시키는 데 도움이 되는 의견을 남겨주세요.

좋은 웹페이지 즐겨찾기