>  기사  >  PHP7에서 할 수 없는 10가지 일 소개

PHP7에서 할 수 없는 10가지 일 소개

黄舟
黄舟원래의
2017-06-18 15:39:142093검색

이 글은 주로 PHP에서 하지 말아야 할 10가지를 자세히 소개하고 있습니다. 7. 관심 있는 친구들이 참고할 수 있는 확실한 참고 가치가 있습니다.

기억하세요, 10가지 하지 말아야 할 것 PHP 7

1. mysql_ 함수를 사용하지 마세요

드디어 자, 이제부터는 mysql_ 함수를 "사용해서는 안 될" 것이 아닙니다. PHP 7에서는 이러한 기능을 모두 코어에서 제거했습니다. 즉, 훨씬 더 나은 mysqli_ 기능이나 보다 유연한 PDO 구현으로 마이그레이션해야 합니다.

2. 정크 코드를 작성하지 마세요

이건 이해하기 쉽지만 PHP 7의 속도 향상으로 일부 문제가 숨겨질 수 있기 때문에 이는 점점 더 복잡해질 것입니다. PHP 7로 마이그레이션하면 속도가 빨라지므로 사이트 속도에만 만족하지 마십시오.

속도가 얼마나 중요한지, 더 나은 작업을 수행하는 방법을 이해하려면 속도 최적화 시작하기 기사를 살펴보세요.

개발자는 항상 요청 시 스크립트를 로드하고, 가능하면 연결하고, 효율적인 데이터베이스 쿼리를 작성하고, 가능하면 캐싱을 사용하는 등의 작업을 수행해야 합니다.

3. 파일 끝에 PHP 닫는 태그를 사용하지 마세요.

파일이 다음으로 끝나는 경우 확인할 수 있습니다. PHP 코드, WordPress 핵심 코드의 대부분은 마지막에 PHP 태그를 제거했습니다. 실제로 Zend Framework는 이를 특별히 비활성화합니다. PHP는 파일 끝에 닫는 태그를 요구하지 않으며, 이를 제거하면 끝에 공백 문자가 추가되지 않도록 할 수 있습니다.

4. 불필요한 참조 전달을 하지 마세요

저는 개인적으로 참조 전달을 좋아하지 않습니다. 때로는 이것이 유용하다는 것을 알고 있지만 때로는 코드를 이해하기 어렵게 만들고 결과를 예측하기 어렵게 만듭니다.

어떤 사람들은 코드 실행 속도가 빨라진다고 생각하지만 일부 수석 PHP 프로그래머에 따르면 이는 사실이 아닙니다.

인용이 나쁜 이유의 예는 PHP에 shuffle() 및 sort()가 내장되어 있다는 것입니다. 처리된 배열을 반환하는 대신 원본 배열을 수정하는데, 이는 비논리적입니다.

5. 루프에서 쿼리를 실행하지 마세요

루프에서 쿼리를 실행하는 것은 매우 낭비입니다. 이는 시스템에 불필요한 스트레스를 주며 루프 외부에서 동일한 결과를 더 빠르게 얻을 수 있습니다. 이와 같은 것이 필요한 상황에 직면하면 일반적으로 데이터 배열을 구축하는 데 사용하는 두 개의 별도 쿼리를 사용하여 문제를 해결합니다. 그런 다음 프로세스에서 쿼리를 실행하지 않고 배열을 반복하겠습니다.

여기서는 WordPress를 사용하기 때문에 예외가 있을 수 있습니다. get_post_meta()는 데이터베이스에서 많은 데이터를 가져오지만 특정 블로그 게시물의 메타데이터를 반복하는 경우 루프에서 이를 사용할 수 있습니다. 이는 WordPress가 실제로 모든 메타데이터를 가져오고 처음 호출할 때 이를 캐시하기 때문입니다. 후속 호출에서는 데이터베이스 호출 없이 이러한 캐시 데이터를 사용합니다.

이를 이해하는 가장 좋은 방법은 함수 설명서를 읽고 Query Monitor와 같은 도구를 사용하는 것입니다.

6. SQL 쿼리에 *을 사용하지 마세요.

물론 이는 MySQL 문제에 더 가깝지만 SQL 코드를 MySQL로 작성하는 데 익숙합니다. PHP는 거의 동일합니다. 하지만 가능하다면 SQL 쿼리에 와일드카드 문자를 사용하지 마세요. 특히 데이터베이스에 열이 많은 경우에는 더욱 그렇습니다.

어떤 행이 필요한지 명시적으로 지정하고 해당 행만 가져와야 합니다. 이는 사용되는 리소스를 줄이고, 데이터를 보호하며, 상황을 최대한 명확하게 만드는 데 도움이 됩니다.

SQL의 경우 사용 가능한 모든 기능을 알고 최대한 속도를 테스트해야 합니다. 평균, 합계 또는 유사한 수치 계산을 계산할 때 PHP 함수 대신 SQL 함수를 사용하십시오. 특정 쿼리의 속도가 확실하지 않은 경우 테스트하고 몇 가지 다른 컴파일을 시도한 다음 가장 좋은 것을 사용하십시오.

7. 사용자 입력을 신뢰하지 마세요

사용자 입력을 신뢰하는 것은 현명하지 않습니다. 항상 검증하고, 필터링하고, 탈출하고, 확인하고, 탈출구를 남겨두세요. 사용자 데이터에는 세 가지 문제가 있습니다. 우리 개발자는 모든 가능성을 고려하지 않고, 종종 부정확하며, 의도적으로 손상될 수 있습니다.

세심하게 계획된 시스템이 이러한 위협으로부터 보호합니다. filter_var()와 같은 내장 함수를 사용하여 적절한 값을 확인하고, 데이터베이스를 다룰 때는 이스케이프(또는 프리컴파일)하십시오.

WordPress에는 문제를 해결하는 몇 가지 기능이 있습니다. 자세한 내용은 사용자 데이터 유효성 검사, 이스케이프 및 필터링 문서를 참조하세요.

8. 영리하려고 하지 마세요

당신의 의도를 더 명확하게 표현하는 우아한 코드를 작성하는 것이 목표입니다. 여러 레이어의 삼항 논리 및 기타 수단을 사용하여 모든 항목을 한 단어 변수로 단축하여 각 페이지에서 0.01초를 최적화할 수 있습니다. 그러나 이것은 당신과 당신 주변 사람들에게 큰 문제를 야기할 뿐입니다.

변수 이름을 적절하게 지정하고, 코드를 문서화하고, 간결함보다 명확성을 우선시하세요. 여러 인라인 값이 필요 없이 문서 자체에 해당하는 표준 객체 지향 코드를 사용하는 것이 훨씬 더 좋습니다. Git

hub는 여러분의 좋은 친구이고 Composer도 마찬가지이며 Packagist도 마찬가지입니다.
로깅 도구부터 색상 교정 도구까지, 성능 분석기부터

단위 테스트

프레임워크까지, Mailchimp API부터 Twitter Bootstrap까지, 버튼 하나만 누르면 모든 것에 액세스할 수 있습니다. 명령)을 얻으려면 사용하세요!
10. 다른 언어도 무시하지 마세요 ​​

PHP 프로그래머라면 이제 최소한 HTML을 이해할 수 있는 좋은 기회가 왔습니다. CSS,

자바스크립트

및 MySQL. 이러한 언어를 더 잘 다루게 되면 JavaScript를 다시 배울 때입니다. JavaScript는 jQuery가 아니기 때문에 JavaScript를 제대로 배워야 좀 더 효율적으로 사용할 수 있습니다.

또한 객체지향 PHP를 배우라고 권하고 싶습니다. 시간을 절약하고 코드 크기가 커질수록 더 좋아질 것입니다. C#이나 Java와 같은 언어의 경우에도 OOP를 이해하고 나면 이해하기가 더 쉽습니다.
패키지 관리자, 빌드 스크립트, CoffeeScript, LESS, SASS, YAML, 스크립팅 엔진 및 기타 강력한 도구에 대해 학습하여 지식을 확장하세요. 다른 프레임워크, 특히 Laravel을 살펴보는 것이 좋습니다.

Ruby, RoR, Android
, iPhone 및 Windows Phone 앱 개발을 배우면서 업무를 훌륭하게 수행해 보는 것은 어떨까요? 그들이 당신의 안전 지대를 벗어나고 직업에 요구되는 것이기 때문에 이것이 무의미하다고 생각할 수도 있지만 그것이 바로 그들이었습니다. 모든 언어에는 배워야 할 실용적인 것뿐만 아니라 이전에 접해본 적이 없는 새로운 것도 있습니다. 모든 최고의 PHP 개발자가 다른

프로그래밍 언어

를 많이 알고 있다는 것은 우연이 아닙니다.

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