有没有一种方法可以包含一个包含变量的php文件


Is there a way to include a php file that contains a variable?

我正在尝试包含一个包含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['idpedido']解释为函数中的$r变量。我尝试了一些不同的选项,比如包含php起始标签,但没有成功。

在这种情况下,这可能吗?

您可以通过使用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;
}
?>