>백엔드 개발 >PHP 튜토리얼 >우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

青灯夜游
青灯夜游앞으로
2021-08-24 16:16:073695검색

우아하고 내구성이 뛰어난 PHP 코드를 작성하는 방법은 무엇입니까? 이 글은 PHP 코드의 기본 작성 사양과 프레임워크 사양을 안내합니다. 이를 이해하면 PHP 코드가 더욱 우아해집니다!

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

소개

Lao Wang이 오늘 나에게 그의 코드가 너무 나빠서 엉망이라고 말했습니다. 다리가 긴 소녀를 보면 눈이 반짝반짝 빛나는

것처럼 내 코드의 품질을

향상시켜 내 코드를 더욱 보기 좋고 편안하게 만드는 방법을 저에게 물어보세요.

그래서 나: 이렇게 먼저 하고, 그다음에 이거 하고, 그다음에 저거. . . . . .

동급생 Lao Wang: 그만 괴롭혀, 대체 무슨 일이야?

그래, 이제 13살인 척 시작할 거야. . .

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

기본 사양

가장 기본적인 사항부터 먼저 이야기해 보겠습니다.

  • 변수 이름에는 카멜 표기법을 사용하세요. 이해하지 못하는 단어에는 병음을 사용하지 말고, 사전을 찾아 해당 단어를 찾으세요.

  • 상수 이름을 지정할 때 대문자 밑줄을 사용하세요. 예: SYSTEM_EROOR = 50000. SYSTEM_EROOR = 50000

  • 缩进使用Tab键,不要打一堆空格做缩进。

  • 类名首字母大写驼峰命名,需要见名知其意,注释说明这个类的功能。例如:

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

  • 方法名驼峰命名,方法行数尽量控制在80行左右,注释说明函数干嘛用的。

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

  • 花括号独占一行,例如:

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

  • foreach慎用引用,例如以下代码会有问题:

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

预期结果是输出: 2 4 6,实际结果是2 4 4PHP中&符号你真的了解吗?。 可以使用array_walk`方法避免这个问题, 示例:

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

  • 避免if, elese嵌套过深,很多嵌套可以通过提前终止来消除, 举个简单的例子:

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

建议使用第二种方式,不符合条件的直接返回,剩下的就是符号条件的,那么避免了在if里面写很多代码。

  • 多个if/else使用switch来替代,PHP8.0版本可以使用match更为简洁。

  • phpstorm中安装SonarLint插件。如果你写的代码出现虚线,说明不太理想,那么可以根据提示修改,相信有强迫症的同学一定会改,久而久之代码就很规范了。例如:

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

方法未使用,方法名不规范已经告诉你了,可以快捷修改,也可以自己修改。

框架规范

  • 前面说得都是比较基础的东西,接下来才是主要的内容。

  • 相信很多同学都用过常用的thinkphplaravelyii

  • 들여쓰기에는 Tab 키를 사용하세요. 들여쓰기를 위해 공백을 많이 입력하지 마세요.
  • 클래스 이름의 첫 글자는 카멜 표기법으로 되어 있습니다. 댓글을 보면 이 클래스의 기능을 알 수 있습니다. 예:
  • 우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

메서드 이름은 카멜 표기법으로 지정합니다. 메서드 행 수는 80줄 내외로 제어해야 합니다. 주석에는 해당 함수의 용도가 설명되어야 합니다.

    우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론
  • 중괄호는 단독으로 한 줄을 차지합니다. 예:

 우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

    foreach는 따옴표를 주의해서 사용하세요. 예를 들어 다음 코드에는 문제가 있습니다.
  • 우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론
예상되는 결과는 2 4 6, 실제 결과입니다. 결과는 2 4 4 입니다. 이유는 무엇인가요? 내 이전 기사를 살펴보세요. PHP의 & 기호를 정말로 이해하고 계십니까?. 이 문제를 방지하려면 array_walk` 메서드를 사용할 수 있습니다. 예:

우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

🎜🎜if, elese 중첩을 너무 깊게 하지 마십시오. 조기 종료를 통해 중첩을 제거할 수 있습니다. 예 간단한 예: 🎜🎜🎜우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론🎜🎜조건에 맞지 않으면 직접 반환하는 두 번째 방법을 사용하는 것이 좋으며, 나머지는 기호 조건이므로 if에 많은 코드를 작성하지 않아도 됩니다. 🎜🎜🎜🎜스위치를 사용하여 여러 if/else를 교체하세요. PHP8.0 버전에서는 match를 사용하여 더 간결하게 만들 수 있습니다. 🎜🎜🎜🎜phpstormSonarLint 플러그인을 설치하세요. 작성한 코드에 점선이 있으면 이상적이지 않다는 의미이므로 강박 장애가 있는 학생들은 분명히 코드를 변경할 것이며 시간이 지남에 따라 코드가 매우 표준화될 것이라고 믿습니다. . 예: 🎜🎜🎜🎜우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론🎜🎜메서드가 사용되지 않습니다.메소드 이름이 표준화되어 있지 않다고 말씀드렸으니 빠르게 수정하셔도 되고, 직접 수정하셔도 됩니다. 🎜

🎜프레임워크 사양🎜🎜🎜🎜🎜위에서 언급한 내용은 비교적 기본적인 내용이고, 다음은 주요 내용입니다. 🎜🎜🎜🎜많은 학생들이 thinkphplaravelyii와 같은 인기 있는 프레임워크 중 하나를 사용한 것 같습니다. 🎜🎜🎜🎜이 프레임워크는 모두 MVC 아키텍처를 기반으로 하며 컨트롤러나 모델에서 비즈니스 로직을 작성하는 것이 컨트롤러에서 작성하는 것보다 상대적으로 좋습니다. 사실 대규모 프로젝트에는 그다지 우호적이지 않습니다. 🎜🎜🎜🎜다음은 Laravel 프레임워크를 예로 사용합니다. 🎜🎜🎜🎜🎜매개변수 확인🎜🎜🎜🎜🎜API에는 매개변수 확인이 필요하지만 매개변수 확인을 작성하는 가장 우아한 방법은 어디에 있습니까? 많은 사람들이 컨트롤러에서 규칙을 정의한 다음 확인 방법을 호출할 수 있습니다. 그러면 동료가 작성한 것과 같은 확인 코드가 모든 API에 나타납니다. 🎜🎜🎜🎜🎜🎜🎜🎜🎜이 코드는 각 API에 한 번씩 표시됩니다. 너무 장황하지 않나요? 🎜🎜🎜🎜🎜🎜
  • Laravel의 http 디렉토리에 Requsts目录,用于存放请求的参数验证类。建立一个BaseRequest类:

1우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

比如登录需要参数验证再建立一个LoginRequest类继承这个BaseRequest를 생성하세요.

1우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

  • 사용할 때는 이 요청 클래스를 Controller 메서드에 삽입하면 됩니다.

1우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

여기에서 요청 매개변수를 얻으면 양식이 확인됩니다. 그렇지 않으면 매개변수 확인에 실패하면 요청 누적에 의해 방금 정의된 메서드가 호출되어 Json 예외가 발생하고 정보가 반환됩니다. 고객.

Controller

컨트롤러의 주요 워크로드는 요청 데이터를 얻고 콘텐츠를 반환하는 것입니다. 더 이상의 작업을 수행해서는 안 되며, 비즈니스 로직을 처리하기 위해 서비스 레이어를 정의할 수 있습니다. 따라서 내 컨트롤러에는 코드 한 줄만 있습니다.

  • Laravel의 앱 디렉토리에 Services 폴더를 생성하여 Service 클래스를 저장하고 BaseService 클래스를 생성합니다:

1우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

그런 다음 사용자 관련 비즈니스 로직을 처리하기 위한 UserService를 생성합니다.

1우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

다음을 사용하여 이 UserService를 UserController에 삽입합니다.

1우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

Model

Model 비즈니스 로직을 작성하는 것은 권장되지 않습니다. 모델은 주로 일부 콘텐츠를 정의하는 데 사용되며 데이터를 조작해서는 안 됩니다.

모델의 데이터 조작은 Repository에 배치하고 Laravel의 앱 디렉토리Repositories에 폴더를 생성해야 합니다.

BaseRepository 정의:

1우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

사용자 데이터 관련 작업을 위한 UserRepository 정의, 생성 방법에 UserModel 삽입:

1우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

Constants

프로젝트에서 많은 상수를 정의하는 방법은 무엇입니까?

앱 디렉토리에 Constant 디렉토리를 생성한 다음 Constant 클래스를 생성하여 이러한 사용자 정의 상수를 저장하세요.

장점:

  • 사용자 정의 상수를 중앙에서 관리할 수 있습니다.
  • 상수 값을 수정할 때 이 클래스에서 수정 사항을 한 번만 찾으면 코드 업데이트가 유지 관리가 쉽습니다.

1우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론

원본 주소 : https://juejin.cn/post/6957290009682509854

저자 : ClassmateLin

추천 학습 : "PHP Video Tutorial"

위 내용은 우아하고 매력적인 PHP 코드를 작성하는 방법은 무엇입니까? 작문 표준에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 掘金--ClassmateLin에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제