본문 바로가기
IT이야기

Visual Studio Code에서 PHP 코딩 후 저장할 때 "?>"가 사라지는 이유

by ◖♪♩♫◗ 2023. 3. 19.
반응형

Visual Studio Code에서 PHP 코딩 후 저장할 때 마지막에 "?>"가 사라지는 문제가 최근 php 코딩을 하면서 발생했습니다.

사실문제는 아니고, 무지한 저의 착각이었습니다. Visual Studio Code의 code fomatter 관련 확장프로그램에서 자동적으로 삭제를 하면서 저장한 것으로 보입니다. 최근 적어도 1개월 전까지만 해도 php 코드를 작성하고 저장하면 이런 문제가 없었는데, 순간 당황하게 됐습니다. Web html 코딩을 하면서 오랜만에 php 코드를 다루게 되었는데, 뜬금없이 갑자기 저장할 때마다 "<? php" 시작해서 "?>"으로 이때까지 끝마쳤는데, 마지막 코드인 "?>"가 계속 사라지는 것입니다.

 

전문적으로 계속 코딩하는 것도 아니고, 취미 삼아 필요할 때 사용하려고, 최근 코딩을 독학하면서 시작했는데, 20년 전에 php를 잠깐 다룬 적이 있었기 때문에 적응하는 데는 문제가 없었지만, 오늘 갑자기 "?>"가 사라지는 일로 인해 당황한 나머지 저장 때마다 사라지면, 메모장을 열어서 "?>"를 넣어 주고 다시 저장하는 바보 같은 일을 했습니다.

 

코딩을 하다가 막힐때가 있으면 chatGPT에게 질문을 하곤 해서, 오늘도 AI에게 이와 관련해서 질문을 던져 보았습니다.

 

결론은 PHP가 아주 오래전부터(2000년 PHP V4.0) "?>"를 제외해도 된다는 문법이 있었고, 그게 공개적으로 2012년 PHP V5.4부터 문서로 공식화했다는 것입니다. PHP 코드 "?>"를 생략하게 한 이유는 공백이나 의도하지 않은 출력 문제를 피하기 위한 좋은 코딩 스타일로 간주하기 때문이라고 합니다.

 

아래는 chatGPT를 통해서 질의한 내용을 올렸으니, 참고 하기 바랍니다.

.

chatGPT 질의 내용

 

PHP 파일 코딩시  "?>"로 끝내잖아? 그런데 최근에 visual studio code에서 php 파일을 저장하니"?>"가 삭제되면서 저장이 된다. 문법에는 문제가 없나?


번역결과
When you code a PHP file, you start with , right? However, when saving a php file in visual studio code recently,?> is deleted and saved. Are there any problems with grammar?

Yes, in PHP, you usually start a PHP file with <? php and end it with?>. However, it is not strictly necessary to include the closing tag?> at the end of the file.

When you save a PHP file in Visual Studio Code, the editor may automatically remove the closing ?> tag if it is the last line of the file. This is because including the closing tag can sometimes cause issues with whitespace or unintended output.

In terms of grammar, omitting the closing ?> tag is perfectly acceptable and will not affect the functionality of your PHP code. In fact, many PHP developers prefer to omit it to avoid any potential issues with whitespace or output.

번역결과
예, PHP에서는 일반적으로 PHP 파일을 시작하고 "?>"로 끝냅니다. 그러나 파일 끝에 닿는 태그 "?>"를 반드시 포함할 필요는 없습니다.
Visual Studio Code에서 PHP 파일을 저장할 때 편집기가 자동으로 닫는 "?>" 태그가 파일의 마지막 줄인 경우 제거하십시오. 닫는 태그를 포함하면 때때로 공백이나 의도하지 않은 출력 문제가 발생할 수 있기 때문입니다.

문법상 닫는 "?>" 태그를 생략하는 것은 완벽하게 허용되며, PHP 코드의 기능, 실제로 많은 PHP 개발자는 공백이나 출력과 관련된 잠재적인 문제를 피하기 위해 생략하는 것을 선호합니다.

 

두 번째 질문

"?>"를 생략할 수 있었던 게 php 버전 얼마 때부터 적용이 되었나?

 

번역결과
Since when was the php version that you could omit the?> been applied?

The ability to omit the closing ?> tag has been a feature of PHP since version 4.0.0, which was released in May 2000. However, this feature was not widely used until later versions of PHP, such as PHP 5.4, which was released in 2012, as it was not officially documented until then.

Since then, the ability to omit the closing?> tag has become a common practice among PHP developers and is considered good coding style to avoid issues with whitespace or unintended output.

번역결과
닫는 "?>" 태그를 생략하는 기능은 2000년 5월에 출시된 버전 4.0.0부터 PHP의 기능이었습니다. 그러나 이 기능은 다음 버전까지 널리 사용되지 않았습니다. 2012년에 출시된 PHP 5.4와 같은 PHP는 그때까지 공식적으로 문서화되지 않았기 때문입니다.

그 이후로 닫는 "?>" 태그를 생략하는 기능이 되었습니다. PHP 개발자 사이의 일반적인 관행이며 공백이나 의도하지 않은 출력 문제를 피하기 위한 좋은 코딩 스타일로 간주됩니다.

반응형

댓글