好吧,我似乎无法在heredoc
文件的foo.php
块中添加评论:
echo <<<_HEREDOC_FOO
// okay this comment was intended to explain the code below but it
// is showing up on the web page HTML sent to the browser
<form action="foo.php" method="post">
<input type="submit" value="DELETE RECORD" /></form>
_HEREDOC_FOO;
表单是否有效,确定(顺便说一下上面的表单代码是高度截断的 为了我的问题,这里。)
但是评论(okay this comment was..blah blah blah
)
也出现在浏览器中。它出现在
浏览器如上所述:
// okay this comment was intended to explain the code below but it
// is showing up on the web page HTML sent to the browser
我尝试过的评论划分的排列:
// <--
// -->
和....
<-- //
--> //
在两种情况下均无法允许我在heredoc
内发表评论。
那么我如何在我的heredoc
s中评论我的代码?
答案 0 :(得分:8)
这是设计的。一旦你成为你的heredoc一切你输入直到你结束它被视为一个长字符串的一部分。你最好的选择是打破你的HEREDOC,发表你的评论,然后开始一个新的回声线
echo <<<_HEREDOC_FOO
text text text
<<<_HEREDOC_FOO;
//Comments
echo <<<_HEREDOC_FOO
text text text
<<<_HEREDOC_FOO;
正如其他人提到的那样,您可以进行HTML评论,但查看源代码的任何人都可以看到这些评论
答案 1 :(得分:8)
您可以将注释字符串作为变量函数的参数传递。
function heredocComment($comment)
{
return "";
}
$GLOBALS["heredocComment"] = "heredocComment";
echo <<<_HEREDOC_FOO
{$heredocComment("
okay this comment was intended to explain the code below but it
is showing up on the web page html sent to the browser
")}
<form action="foo.php" method="post">
<input type="submit" value="DELETE RECORD" /></form>
_HEREDOC_FOO;
答案 2 :(得分:2)
试试这个:
echo <<<_HEREDOC_FOO
<!-- okay this comment was intended to explain the code below but it
is showing up on the web page html sent to the browser -->
<form action="foo.php" method="post">
<input type="submit" value="DELETE RECORD" /></form>
_HEREDOC_FOO;
现在是HTML comment
答案 3 :(得分:0)
实际执行此操作的最简单方法是使用与SeppoTaalasmaa相同的策略,但之后更短:
$comment = function($str) {return '';};
echo <<<_HEREDOC_FOO
{$comment('okay this comment was intended to explain the code below but it
is showing up on the web page html sent to the browser')}
<form action="foo.php" method="post">
<input type="submit" value="DELETE RECORD" /></form>
_HEREDOC_FOO;
只需添加定义$comment
的第一行,您就可以通过这种方式在下一个heredoc中插入注释。如果您没有在全局范围内定义函数,这也将起作用。