正如其他人提到的那样,输出缓冲可能是最干净的解决方案,因为它允许您将html模板与逻辑分开.这样你最终会在模板文件中找到相当可读的html,而不是意大利面条代码混乱.
function render_php($path) { ob_start(); include($path); $var=ob_get_contents(); ob_end_clean(); return $var; }
然后创建模板文件
//test.php
然后调用你的函数:
render_php('test.php');
您甚至可以通过添加第二个参数(数组或对象,即
function render_php($path,array $args){ ob_start(); include($path); $var=ob_get_contents(); ob_end_clean(); return $var; }
现在让我们看看它是如何有用的
//create your template test.php
现在创建您的参数并将它们传递给render方法
$args = array('start' => 0, 'end' => 5); render_php('test.php', $args);
为什么这很有用
现在你有一个有用的可重用函数,无论你需要传递多少个参数,你的逻辑可以放在显示器的单独文件中,使你的代码更具可读性.我们可以使用它来构建仍然易于阅读的大块html.
即
$article = array( //imagine we have an article that we have pulled from our database 'title' => 'Some Title', 'subtitle' => 'Some Sub Title', 'body' => 'lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris eu nulla quis ligula ornare ultricies. Vivamus malesuada lectus a mi auctor pellentesque. Maecenas eu ultricies sapien, ac porta augue. ', 'image' => 'img/some_image.jpg' ); echo render_php('article.php',array $article);
并创建一个模板
' alt='whatever' >