资讯专栏INFORMATION COLUMN

PHP 7.3 我们将迎来灵活的 heredoc 和 nowdoc 句法结构

twohappy / 2148人阅读

摘要:频道已经公布了的和语法更新,此次更新专注于代码可读性和有非常严格的语法,有些时候这令很多开发者避而远之,因为他们在代码中看起来非常丑陋,令代码的可读性降低。移除了这个约束和的背景从版本开始支持,他和的不同之处,仅是双引号和单引号的差别。

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

Heredoc 和 Nowdoc 有非常严格的语法,有些时候这令很多开发者避而远之,因为他们在代码中看起来非常丑陋,令代码的可读性降低。本次的更新针对此问题,对语法做出了以下两个更改:

支持闭合标记符的缩进;

不再强制闭合标记符的换行;

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


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


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


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


Heredoc 和 Nowdoc 的背景

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


上面的 nowdoc 会输出:

Example of string $name
spanning multiple lines
using nowdoc syntax.

Here 文档 在 wiki 上的定义:

在计算机学科中,here文档,又称作 heredoc、hereis、here-字串或here-脚本,是一个文件输入或者数据流输入:可以被当成完整文件的块状代码。它可以保存文字里面的换行或是缩排等空白字元。一些语言允许在字串里执行变量替换和命令替换。

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

获取更多信息

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

更多现代化 PHP 知识,请前往 Laravel / PHP 知识社区

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30798.html

相关文章

  • 一文看懂 PHP 7.3 更新

    摘要:目前依旧是其它脚本语言强劲的竞争对手,这主要归功于其核心维护团队的快速更新。有时我们在数组内以及函数调用尤其是可变参函数时需要传递大量元素,若是漏掉一个逗号,便会报错。在可变参函数例如内,更是如此。 showImg(https://segmentfault.com/img/remote/1460000017544573); PHP 目前依旧是其它脚本语言强劲的竞争对手,这主要归功于其核...

    curlyCheng 评论0 收藏0
  • 一文看懂 PHP 7.3 更新

    摘要:目前依旧是其它脚本语言强劲的竞争对手,这主要归功于其核心维护团队的快速更新。有时我们在数组内以及函数调用尤其是可变参函数时需要传递大量元素,若是漏掉一个逗号,便会报错。在可变参函数例如内,更是如此。 showImg(https://segmentfault.com/img/remote/1460000017544573); PHP 目前依旧是其它脚本语言强劲的竞争对手,这主要归功于其核...

    Lsnsh 评论0 收藏0
  • 一篇文章帮你了解 PHP 7.3 更新

    摘要:文章转自目前依旧是其它脚本语言强劲的竞争对手,这主要归功于其核心维护团队的快速更新。有时我们在数组内以及函数调用尤其是可变参函数时需要传递大量元素,若是漏掉一个逗号,便会报错。在可变参函数例如内,更是如此。 showImg(https://segmentfault.com/img/remote/1460000018760731?w=1320&h=660); 文章转自:https://l...

    刘玉平 评论0 收藏0
  • PHP8 种原始数据类型【基础】

    摘要:如果给定的一个数超出了的范围,将会被解释为。从布尔值转换将产生出零,将产生出壹。由于内部表达方式的原因,比较两个浮点数是否相等是有问题的。和在小数点后五位精度内都是相等的。这里共有两种语法规则一种简单规则,一种复杂规则。 前言 搬运:PHP官方文档 四种标量类型 boolean(布尔型) 这是最简单的类型。boolean表达了真值,可以为TRUE或FLASE。要指定一个布尔值,使用关...

    whataa 评论0 收藏0
  • PHP变量类型

    摘要:获取变量的类型,使用函数。要检验某个类型,可以使用函数,如是在整形是在浮点型是在字符串如果需要将一个变量强制转换为某类型,可以对其使用强制转换或者函数。自起,此限制仅对包含变量时有效。 简介 PHP支持9种原始数据类型。 4种标量类型: boolean布尔型 integer 整形 float 浮点型(也称作double) string 字符串 3种复合类型: array...

    selfimpr 评论0 收藏0

发表评论

0条评论

twohappy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<