>백엔드 개발 >PHP 문제 >따라야 할 PHP 개발 사양은 무엇입니까?

따라야 할 PHP 개발 사양은 무엇입니까?

王林
王林원래의
2019-09-26 17:40:113252검색

따라야 할 PHP 개발 사양은 무엇입니까?

1. PHP 관련 명명 규칙

1. 메소드 명명

메소드 명명은 클래스에 정의된 함수를 참조하며, 첫 글자는 소문자 또는 밑줄로 표시합니다." _" , 예: getUserName(), _parseType(). 일반적으로 밑줄로 시작하는 메소드는 비공개 메소드입니다.

2. 함수 이름 지정

Function은 클래스에 정의되지 않은 함수를 나타냅니다. 공개 파일.

3과 같은 함수 이름에는 소문자와 밑줄을 사용합니다. 변수 이름 지정

변수라고도 합니다. 속성은 낙타 표기법을 사용하여 명명되며, tableName, _instance와 같이 첫 번째 문자는 소문자이거나 밑줄이 그어져 있습니다. 일반적으로 밑줄로 시작하는 속성은 비공개 속성입니다.

4. 상수 이름은 대문자로 지정됩니다. 문자 및 밑줄(예: HAS_ONE 및 MANY_TO_MANY)

구성 매개변수 이름은 HTML_CACHE_ON = 1과 같이 대문자와 밑줄로 지정됩니다.

1. 여러 줄 공백은 금지됩니다.

별도로 요구되지 않는 한 코드 파일에서는 여러 줄 공백이 금지됩니다.
2. 들여쓰기

코드에 적절한 들여쓰기가 필요합니다. 그렇지 않으면 유지 관리가 더 어려워집니다.

3. 디렉토리 구조

일반적인 프레임워크에는 특별한 상황을 제외하고는 디렉토리 구조 수정이 허용되지 않습니다. 디렉토리 구조 변경. Controller 파일은 Controller 디렉터리에, Model 파일은 Model 디렉터리에, View 파일은 View 디렉터리에 위치합니다. 디렉터리의 위치와 이름을 임의로 변경하지 마세요.

3. 안전


1. 입력 상자

모든 입력 상자의 최대 길이를 설정해 주시고, 필수 항목에는 필수 제한을 설정해 주세요. 예를 들어 계좌번호 CHN00000001은 11자리만 입력할 수 있으므로 최대 입력 길이는 11자까지만 가능하며 필수="required" 속성이 추가됩니다.
2. 텍스트 편집기

리치 텍스트 편집기는 코드를 입력할 수 있어 보안 위험이 크므로 첫 페이지에 리치 텍스트 편집기를 사용하지 마세요. 이를 사용하려면 제출된 콘텐츠를 htmlspecialchars()를 사용하는 등 필터링해야 합니다.

3. 백그라운드에서 매개변수 수신

PHP는 양식 획득 URL에서 매개변수를 가져올 때 필드 유형을 판단해야 합니다. 예를 들어, 숫자를 받는 파라미터에는 다른 문자는 포함할 수 없고, 숫자만 포함할 수 있도록, 수신된 게시물을 확인하고 파라미터를 가져오는 공개 함수를 작성하고, 악성코드 삽입을 방지하기 위해 각 파라미터 값을 검증하는 것이 좋습니다. 메시지 내용 등 긴 내용이 포함된 변수를 수신할 경우 특수문자 필터링을 수행해야 합니다. 예를 들어, Strip_tags(), htmlspecialchars() 및 htmlentities()와 같은 기능을 사용하면 사용자가 크로스 사이트 스크립팅 공격을 위한 악성 코드를 삽입하는 것을 방지할 수 있습니다.

4. 권한 제어

로그인이 필요한 페이지는 로드하기 전에 로그인해야 합니다. 로그인 시간이 초과되면 다시 로그인해야 합니다. 접근 권한이 필요한 페이지와 기능에는 권한 제어 및 감지 기능이 있어야 합니다.

4. 동시성 및 대규모 트래픽 처리

1. 반복 제출

사용자가 양식을 제출할 때 반복적으로 제출하는 것을 방지하려면 양식에 제출 확인을 설정해야 합니다. 예를 들어, 쇼핑몰이 주문을 제출하면 사용자가 반복적으로 주문을 제출하지 못하도록 해야 합니다. Thinkphp 프레임워크에서 제공되는 양식 토큰 기능은 반복 제출을 방지할 수 있습니다. 기본 PHP는 페이지를 열기 전에 토큰을 생성하여 세션에 저장한 다음 양식이 제출되면 토큰을 페이지 양식 필드에 전달할 수도 있습니다. 토큰은 백그라운드에서 함께 제출됩니다. 수신 시 토큰을 확인하고, 확인 후 세션의 저장된 토큰을 파기합니다.

2. 세션

일회성 세션이 재사용되는 것을 방지하기 위해 SMS 확인, 양식 확인 등의 일회성 확인 세션은 사용 후 파기되어야 합니다. 등록 시 SMS 인증 코드 세션을 파기하지 마십시오. 동일한 SMS 인증 코드를 사용하여 여러 계정을 등록할 수 있습니다.

3. 동시성

몰의 플래시 세일 기능 등 동시성 처리가 잘 이루어지지 않으면 여러 사용자가 동일한 상품을 구매하게 되는 경우가 많습니다.

동시성 처리 솔루션은 다음 솔루션을 고려할 수 있습니다.

(1) 잠금 테이블 작업의 단점은 동시성 수가 상대적으로 많으면 시스템 지연이 발생한다는 것입니다. (2) 대기열

(3) 부하 분산

(4) 데이터베이스 읽기 및 쓰기 분리(5) Nginx를 http 서버로 사용

4. 캐시, 데이터 통화 데이터베이스 쿼리의 경우 캐시된 파일을 읽는 것이 훨씬 빠릅니다. 주요 캐싱 기술은 다음과 같습니다.

(1) Thinkphp의 자체 S() 메서드 (2) 파일 읽기 및 쓰기, 이 방법은 보안을 보장하기 위해 데이터 암호화를 보장합니다
(3) Memcached

추천 튜토리얼:

PHP 비디오 튜토리얼

#🎜🎜 #

위 내용은 따라야 할 PHP 개발 사양은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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