第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

PHP
人到中年有點甜 2019-07-06 15:40:50
在PHP中使用Heredoc有什么好處?使用赫雷多克在PHP中,您能給出一個示例嗎?
查看完整描述

3 回答

?
飲歌長嘯

TA貢獻1951條經(jīng)驗 獲得超3個贊

對我來說,這里的doc語法更簡潔,它對于多行字符串和避免引用問題非常有用。以前我經(jīng)常用它們來構(gòu)造SQL查詢:

$sql = <<<SQLselect *
  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\"
";

另一點是避免在字符串中轉(zhuǎn)義雙引號:

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

上面的問題是我剛才介紹的語法錯誤(缺少轉(zhuǎn)義引號),而不是這里的文檔語法:

$x = <<<EOFThe point of the "argument" was to illustrate the use of here documents
EOF;

它有點風(fēng)格,但我將以下規(guī)則用作用于定義字符串的單文檔、雙文檔和此處文檔的規(guī)則:

  • 單株

    當(dāng)字符串是常量時使用引號,如

    'no variables here'

  • 雙倍

    引用時,我可以將字符串放在單行上,并需要變量內(nèi)插或嵌入單引號。

    "Today is ${user}'s birthday"

  • 這里

    需要格式化和變量內(nèi)插的多行字符串的文檔。


查看完整回答
反對 回復(fù) 2019-07-06
?
慕神8447489

TA貢獻1780條經(jīng)驗 獲得超1個贊

由于增加了可讀性和可維護性,Heredoc是引用字符串的一個很好的替代方案。您不必轉(zhuǎn)義引號,而且(好的)IDE或文本編輯器將使用正確的語法高亮顯示。

一個非常常見的例子:從PHP內(nèi)部回顯HTML:

$html = <<<HTML  <div class='something'>
    <ul class='mylist'>
      <li>$something</li>
      <li>$whatever</li>
      <li>$testing123</li>
    </ul>
  </div>HTML;// sometime laterecho $html;

容易讀懂。易于維護。

另一種方法是重復(fù)引用的字符串,這些字符串最終包含轉(zhuǎn)義引號,IDE不會突出顯示該語言的語法,這會導(dǎo)致可讀性差,維護難度更大。

更新答復(fù)你的常識

當(dāng)然,您不希望看到SQL查詢突出顯示為HTML。要使用其他語言,只需更改語法中的語言:

$sql = <<<SQL
       SELECT * FROM table
SQL;


查看完整回答
反對 回復(fù) 2019-07-06
  • 3 回答
  • 0 關(guān)注
  • 837 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號