php.net RFC 채널에서 PHP 7.3용 Heredoc 및 Nowdoc 구문 업데이트를 발표했습니다. 이 업데이트는 코드 가독성에 중점을 둡니다.
#🎜🎜 ##🎜🎜 #Heredoc과 Nowdoc은 매우 엄격한 구문을 사용하므로 코드에서 매우 보기 흉해 보이고 코드 가독성이 떨어지기 때문에 많은 개발자가 이를 기피하게 됩니다. 이 문제에 대한 대응으로 이 업데이트에서는 구문에 다음 두 가지 변경 사항을 적용했습니다.버전 7.3에서는 다음 형식을 사용할 수 있습니다.은 닫는 태그의 들여쓰기를 지원합니다.
# 🎜🎜#
더 이상 태그를 닫을 때 줄 바꿈을 강제하지 않습니다.- 현재 PHP 7.2 구현에서는 다음 예제처럼 간단합니다. :
<?php class foo { public $bar = <<<EOT bar EOT; }
<?php class foo { public $bar = <<<EOT bar EOT; }닫는 태그의 들여쓰기에 따라 heredoc/nowdoc의 각 새 줄에 대한 공간이 결정됩니다.
<?php // 4 个缩进空格 echo <<<END a b c END; /* a b c */현재 PHP 7.2 구현에서는 heredoc/nowdoc를 끝내려면 줄바꿈이 있어야 합니다. PHP 7.3에서는 다음 제약 조건을 제거합니다.
<?php stringManipulator(<<<END a b c END); $values = [<<<END a b c END, 'd e f'];Heredoc 및 Nowdoc의 배경Nowdoc는 PHP 5.3.0 버전에서 지원됩니다. 이 버전과 Heredoc의 유일한 차이점은 double입니다. 따옴표와 작은 따옴표. Nowdoc은 시작 태그 주위에 작은따옴표를 추가하고 구문 분석이 없습니다:
<?php $name = 'Example'; $str = <<<'EOD' Example of string $name spanning multiple lines using nowdoc syntax. EOD;
Example of string $name spanning multiple lines using nowdoc syntax.Here 위키의 문서 정의:
컴퓨터 과학에서 heredoc, hereis, here-string 또는 here-script라고도 알려진 here 문서는 파일 입력 또는 데이터 스트림 입력입니다. 완전한 파일. 텍스트에 줄 바꿈이나 들여쓰기와 같은 공백 문자를 저장할 수 있습니다. 일부 언어에서는 문자열 내에서 변수 대체 및 명령 대체를 허용합니다.
자세한 내용은공식 변경 문서(유연한 Heredoc 및 Nowdoc 구문 RFC)를 읽는 것이 좋습니다. PHP 공식 문서 Heredoc 및 Nowdoc.Heredocs 및 Nowdocs의 개선으로 인해 PHP 코드의 가독성이 높아지고 오류가 발생하기 쉽습니다. 반면에 마크업을 닫는 들여쓰기가 제거되므로 출력이 더 간결하고 직접적입니다.