在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 的規則:只能包含字母、數字和下劃線,並且必須以字母和下劃線作爲開頭。

 

 

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