是否可以用php heredoc语法编写javascript?

时间:2016-07-15 00:17:19

标签: javascript php heredoc

我正在尝试输出Javascript代码heredoc语法,我希望使用PHP print_r函数打印出来。有可能吗?

PHP:

<?php
function printR($val){
    echo "<pre>";
    print_r($val);
    echo "</pre>";
}

$str = <<<EOT
    var msg = "Hello my name is ";
    var name = "Jermaine Forbes";
    function writeIt(m,n){
        console.log(m+n);
    }
    writeIt(msg,name);
    EOT;

printR($str);
?>

(@FirstOne:我保留了EOT;,因为它有*评论

1 个答案:

答案 0 :(得分:2)

是的,你可以。如果你希望字符串中只有Javascript(没有PHP变量),我会使用nowdoc而不是heredoc(在开头EOT附近使用单引号

$str = <<<'EOT'
            var msg = "Hello my name is ";
            var name = "Jermaine Forbes";
            function writeIt(m,n){

              console.log(m+n);
            }

            writeIt(msg,name);

EOT;

另请注意,结束分隔符必须在最后一行中单独使用。你之前或之后都不能有任何空间。您的代码无效,因为您缩进了EOT;From the docs

  

警告:非常重要的是要注意关闭的行   标识符必须不包含其他字符,分号(;)除外。   这尤其意味着标识符可能不会缩进,并且   在分号之前或之后可能没有任何空格或制表符。