我发现这个PHP代码片段:什么是和如何使用'<<< END_JAVASCRIPT'字符串?
$sJavascript = <<<END_JAVASCRIPT
var callback = arguments[arguments.length-1],
nIntervalId;
function checkDone() {
if(window.MY_STUFF_DONE) {
window.clearInterval(nIntervalId); // stop polling
callback("done"); // return "done" to PHP code
}
}
nIntervalId = window.setInterval(checkDone, 50); // start polling
END_JAVASCRIPT;
$sResult = $session->execute_async(array(
'script' => $sJavascript,
'args' => array(),
));
那是什么“END_JAVASCRIPT”字符串以及如何和何时应该使用(?)? P.S.我试图运行这段代码,但在PHP中出现了一个解析错误('unexpected $ end')。
UPDATE: 原因我正在解析错误是,我缩进代码(包括结束标识符“END_JAVASCRIPT”)。 PHP的heredoc文档包含以下警告:
需要注意的是结束标识符的行必须包含任何其它字符,除了可能分号是很重要的()。这意味着特别是标识符可能不会缩进,并且在分号之前或之后可能没有任何空格或制表符。认识到关闭标识符之前的第一个字符必须是由本地操作系统定义的换行符也很重要。
http://php.net/manual/en/language.types.string.php –