개발 꿀팁/PHP

이 글을 읽고 나면 당신의 PHP코드는 우아하고 격조높습니다

Jammie 2022. 7. 7. 16:48
반응형

문장 목록
소개하다
기본 규범
프레임 규범
매개 변수 검증
제어기
모델
상수
부록

소개하다
오늘 왕씨 학우가 나에게 그의 코드가 아주 엉망진창이라고 말했다. 마치 한 덩어리 자이앙 같다.어떻게 하냐고

자신의 코드의 질을 높이고, 자신의 코드가 눈에 잘 띄고, 편안해지도록 하는 것 같다.

긴 다리 MM을 보면 눈이 번쩍번쩍 뜨이는 그런 거.

그래서 나는:네가 먼저 이렇게 하고,그 다음에 이렇게 하고,그 다음에 또 저렇게...

왕동창: 떠들지 마라, 도대체 어떤 것이냐?

자, 이제 13번으로 할게요...

기본 규범
가장 기본적인 것부터 말씀드리겠습니다.

변수 이름은 혹을 사용하여 지정합니다.모르는 단어 쓰지마병음이라기보다는 사전을 찾아서 해당하는 단어를 찾아야 한다.

상수 명명법은 큰 글씨로 밑줄 친 것을 사용합니다.예:SYSTEM_EROOR = 50000.

들여쓰기 Tab 키, 빈칸을 쌓아 만들지 말고들여쓰다.

유명 이니셜이 낙타의 이름을 크게 쓰니, 이름을 알아야 한다.그 의미, 주석은 이런 종류의 기능을 설명한다.예:

방법명 혹 이름 짓기 방법 행수는 가능한 80행 정도로 제한하고 주석 설명 함수는 왜 사용하는가

괄호는 다음과 같이 행을 독점한다

foreach는 인용에 신중합니다. 예를 들어 다음 코드에 문제가 있을 수 있습니다

예상 결과는 출력: 246, 실제 결과는 244, 왜 그럴까
PHP에서 & 기호 정말 아세요? arra 사용 가능y_walk` 방법은 이 문제를 회피한다, 예:

if, eleese를 너무 깊이 중첩시키지 마십시오. 많은 중첩은 조기 종료를 통해 제거할 수 있습니다. 간단한 예:

두 번째 방식을 권장하는데, 조건에 맞지 않는 것은 그대로 되돌리고 나머지는 기호 조건이면 if에 많은 코드를 쓰는 것을 피한다.

여러 개의 if/else는 switch로 대체되며, PHP8.0 버전은 match로 보다 간결하게 사용할 수 있습니다.

phpstorm에 소나린트 플러그인을 설치합니다.만약 네가 쓴 코드에 점선이 나타나, 설명이 그다지 이상적이지 않다면, 근거해서 언급해도 된다.수정하라는 강박증이 있는 학생은 반드시 수정해야 한다고 믿으며, 오래된 코드는 매우 규범적이다.예:

방법을 사용하지 않았습니다. 방법명이 규격에 맞지 않는다는 것을 이미 알려 드렸습니다. 빠르게 수정할 수도 있고 스스로 수정할 수도 있습니다.

프레임 규범
앞에서는 기초적인 것을 말하고, 그 다음이 주요 내용입니다.

씽크프, 라라벨, yii 같은 유행은 많이 쓰셨을 거예요.틀의 하나.

이 프레임워크들은 모두 MVC 아키텍처로 많은 사람들의 코드를 보거나 업무 로직을 컨트롤러에 적습니다.면, 혹은 모델 안에 쓰거나 모델 안에 쓰기보다는 컨트롤러에 쓰거나그것은 상대적으로 조금 낫다.사실 대형 프로젝트에는 별로 우호적이지 않다.

이하에서는 라라벨 프레임을 예로 들 수 있다.

매개 변수 검증
API는 파라미터 검증을 해야 하는데 파라미터 검증은 어디에 쓰는 게 우아할까.많은 사람들이 controller에서 규칙을 정의하고 인증 방법을 호출할 수 있습니다. 그러면 인증 코드는 각 API에 나타납니다. 예를 들어 제 동료가 작성한 것입니다

이 코드는 API마다 한 번씩 나오는데 너무 수다스럽지 않은데 어떻게 해결하나요?

Laravel의 HTTP 디렉토리 아래에 요청한 매개 변수 인증 클래스를 저장할 Requsts 디렉토리를 설정합니다.BaseRequest 클래스를 설정합니다

예를 들어 로그인은 매개 변수 검증이 필요하며 LoginRequest 클래스가 이 BaseRequest를 계승한다.

사용할 때는 Controller의 방법에 이 요청 클래스를 주입하면 된다

여기서 요청 파라미터를 취득할 때 폼을 검증하고, 그렇지 않으면 파라미터 검증에 실패하면 방금 Request 축적 정의 방법을 호출하여 Json의 이상을 던져 클라이언트에 정보를 반환한다.

제어기
컨트롤러의 주요 워크로드가 요청 데이터와 반환 내용을 취득하고 더 이상 하지 않는 경우, 하나의 Service 계층을 정의하여 비즈니스 로직을 처리할 수 있습니다.
그래서 내 컨트롤러의 코드는 한 줄밖에 없다.

Laravel의 앱 디렉터리에 Service 클래스를 저장할 Services 폴더를 만들고 BaseService 클래스를 만듭니다.

그런 다음 사용자 관련 비즈니스 로직을 처리하기 위해 유저 서비스를 구축한다

UserController에 이 UserService를 주입하여 사용합니다

모델
모델은 업무 로직을 쓰는 것을 권장하지 않는다.모델들은 주로 콘텐츠를 정의하기 위해 사용되며 데이터를 조작해서는 안 된다.

Model의 데이터 조작은 Repository에 넣어 Laravel의 앱 목록 아래에 텍스트를 작성해야 합니다.폴더 Repositories.

BaseRepository 정의:

사용자 데이터 관련 작업을 위해 UserRepository를 정의하고 구성 방법에 UserModel을 주입한다

상수
항목 중의 많은 상수는 어떻게 정의해야 합니까?

앱 디렉터리에 Constan 만들기t 디렉터리, 사용자 정의 상수를 저장할 Contstant 클래스를 만듭니다.

이러한 이점은 다음과 같다.

커스텀 리터러시는 집중적으로 관리할 수 있다.
상수 값을 수정할 때는 이 클래스만 있으면 됩니다.수정 한 번 찾으면 되고 코드 업데이트는 유지 보수성이 좋습니다

 

반응형