我是靠谱客的博主 勤恳诺言,这篇文章主要介绍PHP7.3新特性:将迎来灵活的 heredoc 和 nowdoc语法结构,现在分享给大家,希望可以做个参考。

php.net RFC 频道已经公布了 PHP 7.3 的 Heredoc 和 Nowdoc 语法更新,此次更新专注于代码可读性:

从 PHP 7.2 的当前实现来看, 就像这个简单的例子:

复制代码
1
2
3
4
5
6
<?php class foo { public $bar = <<<EOT bar EOT; }
登录后复制

在 7.3 版本中,以下形式是可用的:

复制代码
1
2
3
4
5
6
<?php class foo { public $bar = <<<EOT bar EOT; }
登录后复制

闭合标记的缩进决定了 heredoc/nowdoc 中每个新行的空格的数量:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php // 4 个缩进空格 echo <<<END a b c END; /* a b c */
登录后复制

在 PHP 7.2 的当前实现中, 必须存在一个新行来结束 heredoc/nowdoc。 PHP 7.3 移除了这个约束:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php stringManipulator(<<<END a b c END); $values = [<<<END a b c END, 'd e f'];
登录后复制

Heredoc 和 Nowdoc 的背景

Nowdoc 从 PHP 5.3.0 版本开始支持,他和 Heredoc 的不同之处,仅是双引号和单引号的差别。 Nowdoc 在开始标记周围添加了单引号,则没有解析:

复制代码
1
2
3
4
5
6
7
8
<?php $name = 'Example'; $str = <<<'EOD' Example of string $name spanning multiple lines using nowdoc syntax. EOD;
登录后复制

上面的 nowdoc 会输出:

复制代码
1
2
3
Example of string $name spanning multiple lines using nowdoc syntax.
登录后复制

Here 文档 在 wiki 上的定义:

Heredocs 和 Nowdocs 的改进将会让你的 PHP 代码更加具有可读性,错误率也会降低。另一方面,因为会闭合标记符的缩进会被移除,所以输出会更加简洁直接。

获取更多信息

推荐阅读官方的更改文档 —— flexible Heredoc and Nowdoc Syntaxes RFC。 PHP 官方的文档 Heredoc 和 Nowdoc。

最后

以上就是勤恳诺言最近收集整理的关于PHP7.3新特性:将迎来灵活的 heredoc 和 nowdoc语法结构的全部内容,更多相关PHP7.3新特性:将迎来灵活的内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(141)

评论列表共有 0 条评论

立即
投稿
返回
顶部