>  기사  >  PHP7.3의 새로운 기능: 유연한 heredoc 및 nowdoc 구문 구조가 도입됩니다.

PHP7.3의 새로운 기능: 유연한 heredoc 및 nowdoc 구문 구조가 도입됩니다.

无忌哥哥
无忌哥哥원래의
2018-07-12 10:43:192758검색

PHP7.3의 새로운 기능: 유연한 heredoc 및 nowdoc 구문 구조가 도입됩니다.

php.net RFC 채널에서 PHP 7.3용 Heredoc 및 Nowdoc 구문 업데이트를 발표했습니다. 이 업데이트는 코드 가독성에 중점을 둡니다.

#🎜🎜 ##🎜🎜 #Heredoc과 Nowdoc은 매우 엄격한 구문을 사용하므로 코드에서 매우 보기 흉해 보이고 코드 가독성이 떨어지기 때문에 많은 개발자가 이를 기피하게 됩니다. 이 문제에 대한 대응으로 이 업데이트에서는 구문에 다음 두 가지 변경 사항을 적용했습니다.

    은 닫는 태그의 들여쓰기를 지원합니다.
  1. # 🎜🎜#

    더 이상 태그를 닫을 때 줄 바꿈을 강제하지 않습니다.
  2. 현재 PHP 7.2 구현에서는 다음 예제처럼 간단합니다. :
<?php
class foo {
    public $bar = <<<EOT
bar
EOT;
}
버전 7.3에서는 다음 형식을 사용할 수 있습니다.

<?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;

위의 nowdoc는 다음을 출력합니다:

Example of string $name
spanning multiple lines
using nowdoc syntax.
Here 위키의 문서 정의:

컴퓨터 과학에서 heredoc, hereis, here-string 또는 here-script라고도 알려진 here 문서는 파일 입력 또는 데이터 스트림 입력입니다. 완전한 파일. 텍스트에 줄 바꿈이나 들여쓰기와 같은 공백 문자를 저장할 수 있습니다. 일부 언어에서는 문자열 내에서 변수 대체 및 명령 대체를 허용합니다.

Heredocs 및 Nowdocs의 개선으로 인해 PHP 코드의 가독성이 높아지고 오류가 발생하기 쉽습니다. 반면에 마크업을 닫는 들여쓰기가 제거되므로 출력이 더 간결하고 직접적입니다.

자세한 내용은

공식 변경 문서(유연한 Heredoc 및 Nowdoc 구문 RFC)를 읽는 것이 좋습니다. PHP 공식 문서 Heredoc 및 Nowdoc.

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