zend框架3:如何在inlineScript方法中使用php代码或变量

时间:2017-10-27 12:31:34

标签: zend-framework3

我试图在我的基于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>

1 个答案:

答案 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有很多处理字符串的方法!