0

我的 PHP 文档末尾的页脚中有一个变量。但是,因为它是模板,所以在每个页面中创建的变量内容不同。该变量的大部分内容是 JS,看起来像这样:

  $myVar = '
    $(function() {
    '.$qTip.'

    $(".delDupe").click(function(){
        $(this).parent().find("input").val("");
        $(this).remove();
    });

    function custAxis() {
        if ($("#axisChk").is(":checked")){
            $(".customAxis").show();
        } else {
            $(".customAxis").hide();
        }
    }

    custAxis();
 });

这只是所有 JS 的一小部分。我想包含这个 JS,仍然将它作为 PHP 变量的一部分,但在 PHP 之外。可能吗?

$myVar = '?>
      // my JS
<? ';
4

4 回答 4

2

你可以使用这种格式:

$myVar = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
于 2012-04-19T01:30:28.517 回答
1

您可以使用heredoc:

<?
$myVar = <<<END
$(function() {
....    
END;

echo $myVar;
?>
于 2012-04-19T01:31:51.473 回答
1

你可以使用heredoc

<?php 
$myVar = <<<EOD
   $(".delDupe").click(function(){
        $(this).parent().find("input").val("");
        $(this).remove();
    });

    $qTip

    function custAxis() {
        if ($("#axisChk").is(":checked")){
            $(".customAxis").show();
        } else {
            $(".customAxis").hide();
        }
    }
EOD;
?>

或者您可以使用 ob_start 并跳出 PHP 并将输出作为变量获取,这就是我加载所有视图/html 的方式

<?php
ob_start();
?>
  $(".delDupe").click(function(){
        $(this).parent().find("input").val("");
        $(this).remove();
    });

    <?=$qTip;?>

    function custAxis() {
        if ($("#axisChk").is(":checked")){
            $(".customAxis").show();
        } else {
            $(".customAxis").hide();
        }
    }
<?php
$myVar = ob_get_contents();
ob_end_clean();
echo $myVar;
?>
于 2012-04-19T01:39:02.007 回答
0

将 JavaScript 放入 html 并从 php 输出 $qTip 字符串。它或多或少与您所做的效果相同,只是以另一种方式编写。

$(function() {
<?=$qTip?>

$(".delDupe").click(function(){
    $(this).parent().find("input").val("");
    $(this).remove();
});

function custAxis() {
    if ($("#axisChk").is(":checked")){
        $(".customAxis").show();
    } else {
        $(".customAxis").hide();
    }
}

custAxis();
});
于 2012-04-19T01:35:21.633 回答