이 기사는 주로 효율적인 PHP를 작성하는 방법을 공유합니다. 도움이 되기를 바랍니다.
1. 정적 static
정적 변수는 클래스 생성으로 시작하여 클래스 소멸로 끝납니다. 비정적 변수는 클래스 인스턴스 생성으로 시작하여 클래스 인스턴스 소멸로 끝납니다. 정적 메서드는 직접 호출할 수 있지만 인스턴스 메서드는 인스턴스를 통해 호출해야 하며 정적 메서드가 훨씬 빠릅니다. 정적 메서드는 항상 동일한 메모리를 호출하고 자동으로 소멸될 수 없지만 인스턴스화에 의해 소멸될 수 있습니다.
2. Echo는 값을 반환하지 않지만 print는 정수를 반환하기 때문에 print
보다 더 효율적입니다. 注意,echo大字符串的时候,如果没有做调整就严重影响性能。使用打开apached的mod_deflate进行压缩或者打开ob_start先将内容放进缓冲区。
3. 루프 도중이 아니라 루프 전에 최대 루프 수를 설정합니다.
예를 들어 for 루프에서 매번 계산됩니다.
4. 메모리 해제를 위한 변수, 특히 대규모 배열
이것은 PHP의 기본 zend 엔진으로 인해 발생합니다. 배열은 1/10에 불과합니다. 즉, C 언어에서 100M 메모리를 가진 배열에는 PHP에서 1G가 필요합니다. 특히 PHP를 백엔드 서버로 사용하는 시스템에서는 과도한 메모리 소모 문제가 자주 발생합니다.
5. requiere_once()는 상대적으로 리소스를 많이 소모합니다.
requiere_once는 파일이 참조되었는지 확인해야 하므로 최대한 많이 사용해야 합니다. 피하기 위해 일반적으로 사용되는 require/include 메서드입니다.
6. 포함 및 요구 사항에 절대 경로를 사용합니다.
상대 경로가 포함된 경우 PHP는 파일을 찾기 위해 include_path를 탐색합니다. 절대 경로를 사용하면 이러한 문제를 피할 수 있으므로 운영 체제 경로를 해결하는 데 시간이 덜 걸립니다.
7. PHP의 내부 문자열 조작 기능을 사용할 수 있다면 정규 표현식보다 효율성이 높으므로 정규 표현식 대신 사용해 보세요.
str_replace 문자 교체 일반 교체 preg_replace보다 빠르지만 strtr은 str_replace보다 1/4 빠릅니다.
또한 교체가 없더라도 str_replace는 해당 매개변수에 메모리를 할당합니다. 매우 느리다! 해결책: strpos를 사용하여 먼저(매우 빠르게) 검색하여 교체가 필요한지 확인한 다음 필요한 경우 교체하십시오. 효율성: - 교체가 필요한 경우: 효율성은 거의 동일하며 차이는 약 0.1%입니다. 대체가 필요하지 않은 경우 strpos를 사용하는 것이 200% 더 빠릅니다.
8. @을 사용하면 오류를 덮을 수 있어 스크립트의 실행 속도가 느려집니다.
@을 사용하면 실제로 백그라운드에서 많은 작업이 수행됩니다. . @를 사용하는 것과 @를 사용하지 않는 것의 효율성 차이는 3배입니다. 특히 루프 5개 테스트에서는 error_reporting(0)을 사용하여 먼저 오류를 끈 다음 루프가 완료된 후 켜더라도 @를 사용하는 것보다 빠릅니다.
9.$row['id']는 $row[id]보다 7배 빠릅니다.배열 키에 따옴표를 추가하는 습관을 들이는 것이 좋습니다.
10. 루프에서 함수를 사용하지 마세요
예를 들어 For($x=0; $x < count($array); $x), count() 함수는 외부에서 먼저 계산합니다. ;
11. 선언되지 않은 지역 변수를 생성하는 것은 이미 정의된 지역 변수보다 9~10배 느립니다
12. 문자열을 포함하려면 큰따옴표 대신 작은따옴표를 사용하세요
13. PHP 스크립트를 구문 분석하는 Apache는 정적 HTML 페이지를 구문 분석하는 것보다 2~10배 더 느립니다.
더 많은 정적 HTML 페이지를 사용하고 더 적은 수의 스크립트를 사용하세요.
14. 변수만 복사하지 마세요
때때로 PHP 코드를 더 깔끔하게 만들기 위해 일부 PHP 초보자(저 포함)는 미리 정의된 변수를 더 짧은 이름의 변수에 복사합니다. 사실, 그 결과 메모리 소비가 두 배로 늘어나 프로그램 속도가 느려질 뿐입니다.
15. 선택 분기 문 사용
대소문자 전환은 if, else if 문을 여러 개 사용하는 것보다 낫고 코드를 읽고 유지하기가 더 쉽습니다.
16. PHP의 파일 작업 효율성은 낮지 않지만 파일 작업을 가능한 한 적게 수행합니다.
file, fopen, feof, fgets 대신 file_get_contents를 사용할 수 있습니다. 17.
PHP 내부 함수를 최대한 사용하세요18.
foreach가 더 효율적입니다. while 및 for 루프 대신 foreach를 사용해 보세요. 19. 루프, 특히 큰 변수: Object
20. 전역 변수의 경우
21을 사용하여 ++$i를 증가시켜야 합니다. ++$i 보다 느립니다. 이 차이점은 PHP에만 해당되며 다른 언어에는 적용되지 않습니다. 사후 증가는 실제로 이후에 증가되는 임시 변수를 생성합니다. 접두사 증가는 원래 값에서 직접 증가합니다. 이는 Zend의 PHP 최적화 프로그램에서 수행되는 최적화 형태입니다.
관련 권장 사항:
6개의 효율적인 웹 애플리케이션 생성을 위한 PHP 프레임워크
PHP의 본질을 배우고 효율적인 PHP 코드 작성 성능_PHP 튜토리얼
PHP의 본질을 배우고 자동 작성 효율적인 PHP 코드 테스트_PHP 튜토리얼
위 내용은 효율적인 PHP 작성 방법 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!