我正在开发我的第一个php网站,我遇到了一个我无法弄清楚的问题。我正在尝试使用一个包含我的结构的php页面,以及其他将html注入其中的页面,同时保留url更改,这样我仍然可以直接链接页面。
到目前为止,这正是我正在做的事情,但它看起来效率不高:
的index.php
<html xmlns="http://www.w3.org/1999/xhtml">
<?php include("head.php"); ?>
<body>
<div class="container">
<!-- Navigation header -->
<?php include("navigation.php"); ?>
<!-- Main container -->
<div id="MainContainer">
<?php include("home.php"); ?>
</div>
<!-- Footer -->
<?php include("footer.php"); ?>
</div>
</body>
</html>
about.php
<html xmlns="http://www.w3.org/1999/xhtml">
<?php include("head.php"); ?>
<body>
<div class="container">
<!-- Navigation header -->
<?php include("navigation.php"); ?>
<!-- Main container -->
<div id="MainContainer">
About me!
</div>
<!-- Footer -->
<?php include("footer.php"); ?>
</div>
</body>
</html>
这感觉完全错了,如果我想改变我的容器类,或改变结构,我现在必须在两个地方而不是一个地方做。
在ASP.net MVC中我会有一个包含我的HTML结构的Layout_Head.cshtml文件,在里面我可以从不同的页面渲染视图,url会更改但是布局总是首先呈现,然后控制器/操作要小心注入所需视图的html。
如何在PHP中复制它?
答案 0 :(得分:4)
通常人们使用php包含更多这样的模板:
<强>的header.php 强>
<html>
<head>
<title></title>
</head>
<body>
<div class="container">
<强> footer.php 强>
</div> <!-- .container -->
</body>
</html>
<强> about.php 强>
<?php include('header.php'); ?>
... content goes here ...
<?php include('footer.php'); ?>
这样您就不需要在每个模板上连续重复开始/结束标记。