像Codeigniter一样,用香草PHP获得部分视图


To be like Codeigniter and get that view partial with vanilla PHP?

只是想知道是否有人能让我正确地使用纯PHP模仿以下Codeigniter方法:

$string = $this->load->view('myfile', $data, true); // where $data is an array of info to "fill in" the html on the page

我已经开始尝试使用fopen,但在将数据作为字符串变量并最终发送到"主模板"之前,我似乎不太清楚向文件发送数据的部分。

目前,我被难住了。我一直在研究他们的_ci_load方法,该方法提供了上述代码,但它深入到了更多的CI-Lib中,其全部目的是使"最简单的pur-php"方式成为可能。如果有人有任何建议、提示、教程链接,任何我在谷歌上找不到的东西

当我需要一些东西来快速返回模板的一部分时,我会使用它。

function view($file,$data) {
    extract($data);
    ob_start();
    if (is_file($file)) {
        include($file);
    }
    $return =  ob_get_clean();
    return $return;
}

您应该确保$file的内容安全。否则,任何人都可以加载他们想要的任何文件,并将他们想要的数据注入其中。我通常只在手工定义$file时使用它,而不是动态的。

我建议您考虑使用ob_start()ob_get_contents()ob_end_clean()函数。