>백엔드 개발 >PHP 튜토리얼 >PHP 코드 자동 감지(git/svn은 PHP_CodeSniffer를 통합함)

PHP 코드 자동 감지(git/svn은 PHP_CodeSniffer를 통합함)

不言
不言원래의
2018-07-06 15:28:362248검색

이 글에서는 특정 참조 값을 갖는 PHP 코드 자동 감지(git/svn 통합 PHP_CodeSniffer)를 주로 소개합니다. 이제 필요한 친구들이 참고할 수 있습니다.

#🎜🎜 #Background

회사에서 개발할 때 svn이나 git에 관계없이 제출될 때마다 코드가 자동으로 감지됩니다. 코드 로직을 확인할 수는 없지만 최소한 전체 코딩 형식의 일관성은 보장할 수 있습니다. 이 기능은 매우 유용합니다. 저는 이 기능이 어떻게 구현되는지 항상 알고 싶었습니다. 최근에야 이 자동 감지가 무엇인지 이해하기 시작했습니다.

연구 접근 방식

  1. 일반적으로 회사의 문서 문서에는 다양한 시스템의 특정 기능에 대한 구체적인 구현이 기록되며 더 많은 내용이 있을 수 있습니다. 하나 이상의 문서, 회사의 문서 문서에서 다양한 키워드 검색으로 관련 정보를 찾을 수 없었습니다

  2. 해당 부서의 동료를 찾아서 어떻게 구현했는지 물었습니다. 동료는 PHP_CodeSniffer라고 답하며 github 링크를 알렸습니다. 그리고 명확한 정보: 문서? 불가능한. 그런 다음 모든 것이 인터넷에서 제공됩니다.

  3. 마지막으로 Baidu/Google에서 몇 가지 기사를 읽고 거의 이해했습니다

    #🎜🎜 ## 🎜🎜#

    실용적인 부분

PHP_CodeSniffer 설치

참고 자료

pear install PHP_CodeSniffer
배 방식을 사용하여 직접 설치했는데, 훨씬 간단하고 편리합니다. pear를 사용하여 설치된 확장 라이브러리는 기본적으로 PHP 설치 디렉터리(예: /opt/php-7.1.9/lib/php/PHP/CodeSniffer)에 있습니다. 자신의 설치 디렉터리를 참조할 수 있습니다. 다음과 같이 명령줄에서 직접 PHP_CodeSniffer를 사용합니다.

phpcs test.php

PHP_CodeSniffer의 코드 사양 형식을 설정합니다.

# /opt/php-7.1.9/lib/php/PHP/CodeSniffer/src/Standards 
# 这个目录下列出了所有可以设置的格式(PSR1,PSR2,PSR12,Zend,Squiz等)
phpcs --config-set default_standard Zend

svn/git Installation

가상 환경에 설치하는 데 시간이 좀 걸리기 때문에 여기서 설명은 생략하겠습니다. 인터넷에 있는 정보를 참조하세요.

PHP_CodeSniffer를 git/svn에 통합

svn 프로젝트가 배포될 때마다 사전 설정이 포함된 후크 폴더를 포함하여 해당 구성 파일이 있습니다. -commit, 이 파일에 phpcs 명령을 추가하기만 하면 됩니다. git의 원리는 동일합니다. 그 안에 후크와 사전 커밋이 있는 폴더가 있습니다. 차이점: 우리 회사의 svn은 commit 과정에서 자동으로 감지되고, git은 git push 중에 감지됩니다. 엔지니어링 코드가 위치한 서버에 자동 코드 감지 기능이 통합된다면 가장 좋을 것 같습니다. svn이 커밋할 때 원격 호스트에 직접 액세스됩니다. 하지만 git이 커밋을 하면 로컬 브랜치에 코드가 저장되고, git push를 해야만 원격 호스트에 submit되기 때문에 git은 git push 중에 수행되는 자동 감지 작업이다.

마지막에 작성

PHP 코드 자동 감지를 이해하면서 많은 문제점을 발견했습니다.

처음에는 이 기능이 어떻게 작동하는지 생각하기보다는 문서에서 정보를 찾아보고 싶었습니다. 구현됩니다. 그러다가 문서에서 정보를 찾을 수가 없어서 바로 동료들에게 갔습니다
  1. 업무상 필요한 일을 하다가 계속해서 배우고 생각하는 것을 잊어버리는 경우가 많았습니다. 다른 것들. 예를 들어, 많은 Linux 명령이 잊어버렸는데, 확장 라이브러리인 PHP_CodeSniffer는 시간이 나면 구체적인 구현을 연구해 보겠습니다. 문제를 자주 생각해야 합니다
  2. 이 자동 코드 감지를 통해 아무것도 이해하지 못하는 것을 발견했습니다. pear, PSR, svn/git, yum/apt- get 등. 이전에 사용해 본 적이 있음에도 불구하고 깊이 연구하거나 해당 기록을 작성하지 않았기 때문에 빨리 잊어 버렸습니다. 조금 더 읽어보시면 자신이 너무 적게 알고 있다는 사실을 깨닫게 되실 겁니다.
  3. 위 내용은 모두의 학습에 도움이 되기를 바랍니다. PHP 중국어 웹사이트를 주목하세요!

    관련 권장 사항:
  4. WampServer LAN 휴대폰에서 솔루션에 액세스할 수 없습니다

#🎜🎜 # PHP7.2 데이터 구조 사용

위 내용은 PHP 코드 자동 감지(git/svn은 PHP_CodeSniffer를 통합함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.