php heredoc--不回显'<脚本类型=“;text/javascript”>'

php heredoc -- not echoing '<script type="text/javascript">'

本文关键字:text javascript gt 脚本 heredoc-- lt php 类型      更新时间:2023-09-26

我在服务器端php中使用了heredoc语法来清理代码——我对heredoc实用程序的理解是"允许您将客户端代码发送到浏览器,并避免每个浏览器端代码语句的单独回显"

我对heredoc的理解是,它只会让封装需要发送到浏览器的一大块代码变得更容易,而不必在每一行都写一个明确的"echo",基本上是"好的网络服务器——在'<<<'和heredoc的末尾之间,所有这些都应该发送到浏览器。"

所以我不确定为什么我会收到以下代码的语法错误:

 <?php
 echo <<<_SENDITALL 
 <script type="text/javascript">
 function foo(theArg1, theArg2, theArg3)
 {
 }
 </script>
 _SENDITALL;
 ?>

我的项目中到处都是heredocs,它们工作得很好,所以我不明白为什么我的Netbeans IDE一直在用语法错误标记上面的内容。

例如,我使用heredoc将表单发送到浏览器。我让javascript在我的html表单上进行输入验证,包括"onsubmit"answers"onblur"等。

因此,php肯定不会想到"看这里,如果你将html脚本发送到浏览器,那没关系,但你试图将某些客户端javascript发送到浏览器是站不住脚的"——这对html和javascript都是客户端都没有意义,为什么heredoc语法会"关心"html脚本或javascript是否被发送到浏览器。

echo <<<_SENDITALL后有空格,请将其删除。

_SENDITALL;之前还有一个空格。

我不确定它是否存在于原始代码中(可能来自这里的格式),也将其删除。