我试图在我的基于zend框架3的项目中使用php变量的值作为javascript变量。但是,它没有正确渲染。下面给出了我尝试过的示例代码。
<?php
$this->inlineScript()->captureStart();
echo <<<JS
function abc(){
var a='<?php echo $name?>';
......
}
JS;
$this->inlineScript()->captureEnd();
?>
这里,它是打印而不是渲染$ name的值。有没有办法这样做,就像我们可以在下面的普通脚本标签中使用。
<script type='text/javascript'>
function abc(){
var a='<?php echo $name?>';
}
</script>
答案 0 :(得分:0)
尽量不要混淆PHP和JS太多...在这里你的代码会被回应,因为你使用的是echo
,你指导了一个流(你的字符串包含js和PHP)。
尝试更具可读性的内容:
<?php $this->inlineScript()->captureStart() ?>
function abc() {
var a='<?= $name ?>';
......
}
<?php $this->inlineScript()->captureEnd() ?>
这里将执行PHP指令,因为它不在heredoc
中此外,这不是一个与Zend Framework相关的问题,而是一个PHP问题。请花一些时间阅读本文中链接的PHP文档,而不仅仅是Heredoc部分... PHP有很多处理字符串的方法!