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

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

使用赫雷多克在PHP中,您能给出一个示例吗?



人到中年有点甜
浏览 815回答 3
3回答

饮歌长啸

对我来说,这里的doc语法更简洁,它对于多行字符串和避免引用问题非常有用。以前我经常用它们来构造SQL查询:$sql&nbsp;=&nbsp;<<<SQLselect&nbsp;* &nbsp;&nbsp;from&nbsp;$tablename&nbsp;where&nbsp;id&nbsp;in&nbsp;[$order_ids_list] &nbsp;&nbsp;&nbsp;and&nbsp;product_name&nbsp;=&nbsp;"widgets"SQL;对我来说,与使用引号相比,引入语法错误的可能性更低:$sql&nbsp;=&nbsp;" select&nbsp;* &nbsp;&nbsp;from&nbsp;$tablename &nbsp;where&nbsp;id&nbsp;in&nbsp;[$order_ids_list] &nbsp;&nbsp;&nbsp;and&nbsp;product_name&nbsp;=&nbsp;\"widgets\" ";另一点是避免在字符串中转义双引号:$x&nbsp;=&nbsp;"The&nbsp;point&nbsp;of&nbsp;the&nbsp;\"argument"&nbsp;was&nbsp;to&nbsp;illustrate&nbsp;the&nbsp;use&nbsp;of&nbsp;here&nbsp;documents";上面的问题是我刚才介绍的语法错误(缺少转义引号),而不是这里的文档语法:$x&nbsp;=&nbsp;<<<EOFThe&nbsp;point&nbsp;of&nbsp;the&nbsp;"argument"&nbsp;was&nbsp;to&nbsp;illustrate&nbsp;the&nbsp;use&nbsp;of&nbsp;here&nbsp;documents EOF;它有点风格,但我将以下规则用作用于定义字符串的单文档、双文档和此处文档的规则:单株当字符串是常量时使用引号,如'no variables here'双倍引用时,我可以将字符串放在单行上,并需要变量内插或嵌入单引号。"Today is ${user}'s birthday"这里需要格式化和变量内插的多行字符串的文档。

慕神8447489

由于增加了可读性和可维护性,Heredoc是引用字符串的一个很好的替代方案。您不必转义引号,而且(好的)IDE或文本编辑器将使用正确的语法高亮显示。一个非常常见的例子:从PHP内部回显HTML:$html&nbsp;=&nbsp;<<<HTML&nbsp;&nbsp;<div&nbsp;class='something'> &nbsp;&nbsp;&nbsp;&nbsp;<ul&nbsp;class='mylist'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li>$something</li> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li>$whatever</li> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li>$testing123</li> &nbsp;&nbsp;&nbsp;&nbsp;</ul> &nbsp;&nbsp;</div>HTML;//&nbsp;sometime&nbsp;laterecho&nbsp;$html;容易读懂。易于维护。另一种方法是重复引用的字符串,这些字符串最终包含转义引号,IDE不会突出显示该语言的语法,这会导致可读性差,维护难度更大。更新答复你的常识当然,您不希望看到SQL查询突出显示为HTML。要使用其他语言,只需更改语法中的语言:$sql&nbsp;=&nbsp;<<<SQL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;*&nbsp;FROM&nbsp;table SQL;
打开App,查看更多内容
随时随地看视频慕课网APP