【发布时间】:2012-02-19 13:52:23
【问题描述】:
我在服务器端 php 中使用了 heredoc 语法来清理代码——我对 heredoc 实用程序的理解是“允许您将客户端代码发送到浏览器并避免每个浏览器端的单独回显代码声明”
我对heredoc的理解是,它只是让你更容易封装你需要发送到浏览器的代码块,而不必在每一行都写一个明确的'echo',基本上是“Ok web server -- between the '
所以我不确定为什么我会收到以下代码的语法错误:
<?php
echo <<<_SENDITALL
<script type="text/javascript">
function foo(theArg1, theArg2, theArg3)
{
}
</script>
_SENDITALL;
?>
我的项目中到处都有 heredocs,它们工作正常,所以我不明白为什么我的 Netbeans IDE 一直用语法错误标记上述内容。
例如,我使用 heredoc 将表单发送到浏览器。而且我有 javascript 在我的 html 表单上进行输入验证,使用 'onsubmit' 和 'onblur' 等。
所以肯定不会是 php 的想法“看这里,如果你将 html 脚本复制到浏览器就可以了,但是你尝试将一些客户端 javascript 复制到这里是行不通的”——那不会' html 和 javascript 都是客户端没有意义,为什么 heredoc 语法会“关心” html 脚本或 javascript 是否被发送到浏览器。
【问题讨论】:
-
NetBeans 可能会混淆 HEREDOC 中 PHP 函数定义的 JavaScript
function()定义,这在语法上是不正确的。你所拥有的应该可以正常工作。 -
它可以在 PHP 引擎中工作吗?如果您确实得到了一个,请发布您的语法错误
标签: php javascript heredoc