将php文件加载到布局模板中?

时间:2014-02-16 01:58:04

标签: php

我正在开发我的第一个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中复制它?

1 个答案:

答案 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'); ?>

这样您就不需要在每个模板上连续重复开始/结束标记。