PHP는 웹 개발에서 가장 자주 사용되는 프로그래밍 언어 중 하나입니다. 이 언어의 가장 중요한 기능 중 하나는 다양한 제한 방법을 제공한다는 것입니다. PHP 열기 및 닫기 태그를 간략하게 살펴보겠습니다.

  • <?php ?>
  • <?= ?>
  • <? ?>
  • <% %>

PHP를 보다 효율적으로 사용하려면 이러한 태그의 차이점과 중요성을 이해하는 것이 필요합니다. 이번 글에서는 PHP 태그를 효과적으로 사용하는 방법에 대해 알아보겠습니다.

짧은 PHP 태그를 사용하면 안 되는 이유는 무엇입니까?

짧은 PHP 태그는 코딩의 용이성과 속도를 위해 더 유용할 수 있습니다. 그러나 대부분의 호스팅 및 서버에서는 PHP.ini 구성에서 기본적으로 비활성화되어 있습니다. 이러한 짧은 태그가 작동하려면 PHP.ini 구성에서 short_open_tag 옵션을 활성화해야 합니다. 따라서 모든 PHP 서버에서 확실히 작동하는 유일한 방법은 다음과 같습니다. . 통제할 수 없는 서버에 PHP를 배포하는 것을 고려하고 있다면 언제든지 할 수 있습니다. <?php ?> 접근 방식을 사용해야 합니다.

짧은 PHP 에코 태그 및 PHP.ini

<?php echo() ?>

PHP로 <?= PHP 구성의 태그 short_open_tag 옵션 활성화 여부에 관계없이 사용할 수 있으므로 위 단축키 대신 이 단축키를 사용해도 안전합니다.
단지 스스로 코드를 작성하고 사용하는 PHP 구성을 제어할 수 있다면 짧은 태그가 더 유용할 수 있습니다. 하지만 그걸 기억해 <? ?> 태그는 XML 선언과 충돌할 수 있습니다. 또한 <% %> 태그는 실제로 ASP 스타일입니다.

PHP 종료 태그 및 잠재적인 문제

순수 PHP 파일 닫기(예: 클래스 정의만 포함된 파일) ?> 태그를 추가할 때 뒤에 빈 줄이 남지 않도록 주의하세요. PHP 인터프리터는 닫는 태그 뒤에 있는 단일 줄 바꿈 문자를 안전하게 "실행"할 수 있지만 다른 줄 바꿈은 브라우저에 출력될 수 있습니다. 그런 다음 HTTP 헤더를 작성하는 경우 상황이 더욱 혼란스러워질 수 있습니다.

PHP PSR-2

PSR-2 코딩 표준은 PHP의 모범 사례를 결정하기 위해 만들어진 PHP PSR 코딩 표준의 일부입니다. PSR-2 코딩 표준은 PHP 코드가 포함된 파일에만 적용됩니다. ?> 닫는 태그를 사용하지 않는 것이 좋습니다. 이 권장 사항의 주된 이유는 닫는 태그 뒤에 실수로 남겨진 공백이나 줄 바꿈과 같은 문자가 브라우저로 전송되는 것을 방지하기 위한 것입니다. PHP에서는 ?> 태그 뒤의 모든 문자는 자동으로 HTML 출력의 일부로 간주됩니다. 이는 HTTP 헤더를 처리할 때 특히 문제가 될 수 있습니다.

PHP 파일 끝에 불필요한 문자가 있으면 HTTP 헤더가 올바르게 처리되지 않을 수 있습니다. HTTP 프로토콜에서는 콘텐츠가 전송되기 전에 헤더가 완료되어야 하기 때문에 모든 출력에서 ​​헤더를 보낼 수 없습니다. 이로 인해 이미 전송된 헤더라는 문제가 발생하며, 이는 세션 시작, 쿠키 설정 또는 페이지 리디렉션과 같은 작업에 영향을 미칠 수 있습니다.

따라서 PSR-2에서는 이러한 일반적인 오류를 방지하고 코드의 깔끔함을 유지하기 위해 PHP 코드만 포함된 파일에 닫는 태그를 사용하지 않을 것을 권장합니다. 이 접근 방식은 원하지 않는 공백이나 코드 끝의 줄 끝 문자로 인해 발생할 수 있는 문제를 제거하고 PHP 스크립트의 보다 안정적이고 오류 없는 작동에 기여합니다.

PHP 태그 및 호환성

이전 버전용 웹 애플리케이션을 작성할 때 닫습니다. ?> 태그가 있는 HTML <!doctype> 태그 사이에 새 줄을 두지 않도록 주의하세요. 이전 버전의 IE에서는 doctype 선언 앞에 줄 바꿈을 포함하여 공백이 있으면 다른 오류가 발생할 수 있습니다. 최신 버전의 IE 및 기타 고급 브라우저에서는 그렇지 않습니다. (즉, IE를 제외한 모든 브라우저에 적용됩니다.)