똑똑해요, 몇 곳이나 찾을 수 있나요? 함수 매개변수 목록에 쉼표가 누락된 경우 "new Array()"가 올바르지 않고 줄 끝에 세미콜론 대신 콜론이 사용되며 "=>"가 사용되지 않습니다. foreach 및 " "는 문자열을 연결하는 데 사용됩니다. 축하합니다. 모든 오류를 발견했으며 PHP 프로그래밍의 기본을 마스터했습니다. 물론 위의 문제점도 확인했지만, 한 단계 더 나아갔습니다. 예를 들어, 배열 인덱스의 문자열이 따옴표로 묶이지 않은 것을 본 적이 있습니까? 이로 인해 심각한 오류가 발생하지는 않지만 코딩 오류입니다. 또한, 에코 라인에서 작은 따옴표 대신 큰 따옴표를 사용한다는 것을 알고 계셨습니까? PHP 시작 플래그의 축약된 형식을 사용합니까? 그리고 " 실제 오류를 발견한 후 위에서 발견한 문제 뒤에 댓글을 추가했습니다. 그것은 대답을 "올바른"에서 "생각을 자극하는"으로 옮기기에 충분했고 내 지원서에 많은 점수를 주었기 때문에 그들은 나를 고용하기로 결정했습니다. (하지만 통신시장에 종사하는 회사보다는 빡빡한 삶을 좋아하고 PHP 실력을 고객들에게 바친다는 이유로 결국 거절했습니다. 실력을 뽐낼 무대가 필요합니다.) PHP 프로그래밍을 위한 10가지 좋은 습관 1. 작은따옴표로 묶인 문자열 큰따옴표를 사용하여 문자열을 묶으면 PHP 인터프리터는 변수 대체, 이스케이프 및 " "와 같은 기타 작업을 수행합니다. 기본 문자열만 출력하려면 작은따옴표를 사용하세요. 그러면 리소스가 절약됩니다. 물론, 변수 치환을 수행해야 하는 경우에는 큰따옴표를 사용해야 하지만, 다른 경우에는 작은따옴표를 사용합니다. 2. 문자열 출력 다음 중 가장 빠르게 실행되는 문장은 무엇이라고 생각하시나요?
이상하게 보일 수도 있지만 실제로는 마지막 것이 가장 빠르게 실행됩니다. 인쇄는 에코보다 느리고, 문자열의 변수를 바꿀 때 느리고, 문자열을 연결하는 것이 쉼표로 연결하는 것보다 느립니다. 따라서 문자열에서 변수 대체를 수행하지 않으면 프로그램 실행 속도가 빨라질 뿐만 아니라 구문 강조 기능이 있는 모든 편집기에서 코드를 더 쉽게 읽을 수 있습니다(변수가 강조 표시됨). 에코 매개변수를 쉼표로 연결할 수 있고 문자열 연결보다 속도가 더 빠르다는 사실을 아는 사람은 거의 없습니다. 마지막으로, 첫 번째 습관을 사용한다면 이 진술은 매우 좋을 것입니다. 3. 배열 인덱스에 작은따옴표 사용 위의 테스트 질문에서 볼 수 있듯이 $x[sales]는 기술적으로 잘못되었으며 인덱스는 $x['sales']와 같이 괄호로 묶어야 함을 지적했습니다. 이는 PHP가 인용되지 않은 인덱스를 "네이키드" 문자열로 인식하고 이를 상수로 해석하기 때문입니다. 상수의 정의를 찾을 수 없으면 문자열로 해석되므로 이 명령문을 실행할 수 있습니다. 인덱스를 포함하면 작업의 이 부분을 저장할 수 있으며 나중에 이 문자열을 사용하여 상수를 정의하더라도 오류가 발생하지 않습니다. 직접 테스트하지는 않았지만 이렇게 하면 속도가 약 7배 빨라진다는 이야기도 들었습니다. 이 주제에 대한 자세한 내용은 PHP 매뉴얼의 "배열" 장에서 "배열이 할 수 있는 것과 할 수 없는 것" 섹션을 참조하세요. 4. 시작 표시의 약어를 사용하지 마세요 이런 기호를 사용하고 있나요? ""는 매우 잘못된 기호이며 XML 해석기와 충돌을 일으킬 수 있습니다. 그리고 이 코드를 게시하면 사용자는 php.ini 파일을 수정하여 이 기호에 대한 지원을 활성화해야 합니다. 따라서 이 형식을 사용할 이유가 전혀 없습니다. " 5. 정규식을 사용하지 마세요 일반 문자열 연산을 수행할 때 정규식(preg 및 ereg 계열 함수)을 최대한 사용하지 마세요. str_replace 함수는 preg_replace보다 훨씬 빠르며 strtr 함수도 str_replace보다 빠릅니다. 문제를 해결하면 상사가 감사할 것입니다. 6. 루프 선언에 함수를 사용하지 마세요 이 문제는 PHP에서만 나타나는 것이 아니라 다른 언어의 코드에서도 자주 볼 수 있습니다.
차이점: for($i=0;$i 설명하기 쉽지만 많은 사람들은 코드 한 줄만 덜 작성하고 시스템 리소스를 낭비하고 싶어합니다. 루프 선언에 count 함수가 사용되면 각 루프마다 한 번씩 호출됩니다. 루프가 많으면 시간이 많이 낭비됩니다. 7. register_globals 및 매직 따옴표를 사용하지 마세요 이것은 당시(10년 전)에 좋은 접근 방식이었을 수도 있는 매우 오래된 두 가지 기능이지만 지금은 그렇지 않은 것 같습니다. 이전 버전의 PHP는 설치 시 기본적으로 이 두 가지 기능을 활성화하므로 보안 허점, 프로그래밍 오류 및 기타 문제가 발생할 수 있습니다. 예를 들어 변수는 사용자가 데이터를 입력할 때만 생성됩니다. 두 기능 모두 이제 더 이상 사용되지 않으며 모든 프로그래머는 피해야 합니다. 이전 프로그램에서 이 두 가지 기능을 사용했다면 가능한 한 빨리 제거하세요. 8. 변수를 반드시 초기화하세요 (여기서 '초기화'는 '선언'을 의미함 - 번역자 주) 초기화되지 않은 변수가 필요한 경우 PHP 인터프리터가 자동으로 변수를 생성하지만 프로그래밍 시 이 기능에 의존하는 것은 좋지 않습니다. 이는 변수가 생성된 위치를 파악해야 하기 때문에 프로그램을 조잡하거나 혼란스럽게 만들 수 있습니다. 또한 초기화되지 않은 변수를 증가시키는 것은 초기화된 변수를 증가시키는 것보다 느립니다. 따라서 변수를 초기화하는 것이 좋습니다. 9. 코드를 댓글로 달기 이 질문은 여러 번 제기되었지만 아무리 많이 제기해도 충분하지 않습니다. 어떤 곳에서는 자신의 코드에 코멘트를 달지 않는 프로그래머를 고용하지 않는다는 것을 알고 있습니다. 이전 면접을 마친 후 부사장, 면접관과 함께 내가 작성한 코드를 살펴보았고, 내가 작성한 코드 주석에 감동을 받았을 때 그들도 나의 이러한 습관을 알게 되었습니다. 그러던 어느 날, 나는 일자리를 얻었습니다. 자신을 PHP 마스터라고 부르는 일부 사람들은 자신의 코드가 잘 작성되었으며 주석을 추가할 필요가 없다고 주장하는 것을 알고 있습니다. 내 생각에는 이 사람들은 쓰레기들이다. 주석 작성을 위한 사양과 기술을 배우고 phpDocumentor 또는 Doxygen과 같은 주석 지원 소프트웨어에 익숙해지는 것은 가치가 있습니다. 10. 프로그래밍 사양을 따르세요 어떤 프로그래밍 규칙을 사용해야 할까요? 배? 젠드? 내부 규정? 자신이 만든 프로그래밍 규칙이든 현재 인기 있는 프로그래밍 규칙이든 사용하고 있는 프로그래밍 규칙을 언급하세요. PHP와 같은 느슨한 언어의 경우 좋은 프로그래밍 사양이 없으면 코드는 쓰레기처럼 보일 것입니다. 일부 기본 사양에는 공간 사양, 브래킷 일치, 명명 스타일 등이 포함됩니다. 이는 고품질 코드를 추구하는 사람에게는 필수입니다. 누군가가 "네 공백 4개 들여쓰기가 싫다"고 말하려고 했는데요, 뭐라고요? 들여쓰기에 공백 4개를 사용하시겠습니까? 이는 탭을 사용하는 것보다 3자 더 많은 공간을 차지합니다. 더 중요한 것은 메모장보다 고급 편집기를 사용하는 한 탭 들여쓰기 값을 사용자 정의할 수 있다는 것입니다. 따라서 모든 프로그래머는 자신에게 가장 편안한 방식으로 코드를 볼 수 있습니다. 가능하면 4로 설정하고, 마조히스트라면 0으로 설정하세요. 어쨌든 상관없지만 들여쓰기에 공백을 사용할 수는 없습니다! |