在PHP中使用Heredoc有什么好处?

1.增加了可读性和可维护性,Heredoc是引用字符串的一个很好的替代方案。你不必转义引号,IDE或文本编辑器将使用正确的语法突出显示。

2.重复引用的字符串,这些字符串最终包含转义引号,IDE不会突出显示该语言的语法,这会导致可读性差,维护难度更大。

 

这里的文档语法对我来说比较干净,对于多行字符串和避免引用问题非常有用。我用来构建SQL查询:

$sql = <<<SQL
select *
  from $tablename
 where id in [$order_ids_list]
   and product_name = "widgets"
SQL;

对我来说,引入语法错误的概率比使用引号的要低:

$sql = "
select *
  from $tablename
 where id in [$order_ids_list]
   and product_name = \"widgets\"
";

另一点是避免在字符串中引用双引号:

$x = "The point of the \"argument" was to illustrate the use of here documents";

详细解读:

String 字符串

一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode 。详见字符串类型详解

Notestring 最大可以达到 2GB。

语法

一个字符串可以用 4 种方式表达:

Heredoc 结构

第三种表达字符串的方法是用 heredoc 句法结构:<<<。在该运算符之后要提供一个标识符,然后换行。接下来是字符串 string 本身,最后要用前面定义的标识符作为结束标志。

结束时所引用的标识符必须在该行的第一列,而且,标识符的命名也要像其它标签一样遵守 PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章