将 PHP Heredoc 与 Javascript 模板文字相结合

我正在尝试在 PHP HEREDOC 段中使用模板文字。这会导致模板中使用的美元符号出现问题:

echo <<<JS
   console.error(`Source type ${source} not supported`);
JS;

给我以下错误:

PHP Notice:  Undefined variable: source in example.php on line 2

是否可以避免 PHP 将美元符号解析为变量?


小怪兽爱吃肉
浏览 85回答 2
2回答

慕的地10843

正如@ChrisG 的评论中所述,只需添加反斜杠即可解决问题:echo <<<JS&nbsp; &nbsp;console.error(`Source type \${source} not supported`);JS;

呼如林

使用 Nowdoc 而不是 heredoc$myline = 'add this line';$input = <<<'JS'&nbsp; &nbsp;console.error(`Source type ${source} not supported`);&nbsp; &nbsp;console.log(`%s`);JS;$output = sprintf($input,$myline);echo $output
打开App,查看更多内容
随时随地看视频慕课网APP