我当前的项目通过 index.php 路由所有内容。然后我看看是什么$_SERVER['REQUEST_URI']
,检查白名单,然后执行一些逻辑来包含相关的 html 模板。像这样:
<?php
include("header.html");
$requested_page = $_SERVER['REQUEST_URI'];
if ($requested_page in $whitelist){
$page_title = $requested_page;
include ($requested_page . "_controller.php");
include ($requested_page . "_template.html");
}
include ("footer.html")
?>
我的问题是我想$page_title
在标题模板中使用,像这样......
<title><?php echo $page_title?></title>
但显然它不会起作用,因为当包含标题时, $page_title 尚未设置。谁能建议如何解决这个问题?“输出缓冲”可能有帮助吗?如果是这样,怎么做?如果这种使用 php 生成页面的方式存在重大问题,请说出来!谢谢
编辑:我应该补充一点,条件逻辑在我的实际项目中要复杂得多,我在这里简化了很多。我不想一直重复我对页眉和页脚的包含,所以这就是不包含它们的原因。如果可能的话,我真的宁愿让他们远离所有的逻辑。