有没有办法包含一个包含变量的php文件?

时间:2015-02-13 18:17:18

标签: php

我试图包含一个包含我的HTML代码的php文件,在这个文件中我想要回显一些变量。让我告诉你我的代码:

这是我通过ajax调用客户端的函数,以获取HTML结果:

    public function generateHtmlModal($orderId){
        $r = $this->getOrderData($orderId);
        $html = file_get_contents(__DIR__ . "/../view/modal-order.php");
        $html2 = "<h3>Order nº $r[order_id]</h3>";
        return $html;
    }

请注意,我创建$ html2来测试并返回而不是$ html。这很好用,它打印带有订单ID的HTML。但我想在单独的文件中使用HTML标记,并将其加载到我的PHP函数中。这是我想要包含HTML标记的.PHP文件的示例:

<!-- FILE MODAL-ORDER.PHP--> 
<div id="orderModal" class="modal fade">
        <div class="modal-body row">
                    <h3>Pedido nº <?php $r['id_pedido']?></h3>...

所以,基本上我希望PHP只是将文件包装在字符串变量$ html中,并将:$ r [&#39; id_pedido&#39;]解释为函数中的$ r变量。我尝试了一些不同的选项,比如包括php启动标记,但没有成功。

在这种情况下这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用ob_start()ob_get_contents()ob_end_clean()来实现此目的:

<?php

public function generateHtmlModal($orderId)
{   
    ob_start();

    $r = $this->getOrderData($orderId);
    include(__DIR__ . "/../view/modal-order.php");
    $html = ob_get_contents();

    ob_end_clean();

    return $html;
}

?>