【问题标题】:How do you include multiple page content in one php include file?如何在一个 php 包含文件中包含多个页面内容?
【发布时间】:2014-03-02 01:40:36
【问题描述】:

我想知道如何将各种元素(页眉、页脚、导航)包含在一个 php 文件中以包含在各个页面上,而不是创建多个单独调用的 php 文件?

在我的包含文件中,我有以下代码:

<?php
echo '<h1 class="sub-elements">The elements for the current submission period are:<span style="font-weight:bold; color:#ff6000;"> Carnival, Residue, Maudlin</span>.</h1>';
?>

输出到运行 php 的 html 页面我有:

<?php include('php-includes/current-elements.php');?>

有没有办法包含特定的 div 或类,而不是整个文件本身?

我只是不想为我想在同一页面上包含的每个小元素创建一个单独的 php 包含文件。

下面的代码是我在同一个包含文件中调用不同元素以显示在另一个页面上的代码。

<?php
function elements ()
{
echo'<h1 class="sub-elements">The elements for the current submission period are:<span style="font-weight:bold; color:#ff6000;"> TESTING</span>.</h1>';
elements();
}
?>

任何帮助都会很棒!

【问题讨论】:

  • 你可以拥有多个函数的文件并只调用需要的函数
  • 既然包含的内容是静态的,那为什么不直接包含HTML呢?为什么要麻烦 PHP 包括它?
  • @rvighne,我想这样做,因为我不想更新几个页面,而只想更新一个。
  • 您应该做的是直接编写 static 内容(如您的示例),并且仅使用 PHP 包含动态部分(如放入变量)。在 cmets 中遵循 Lashane 的建议。
  • 我在包含文件本身中创建了一个函数,但跨多个页面调用它似乎不起作用,或者代码编写不正确。

标签: php html


【解决方案1】:

听起来您试图避免使用模板。其基本思想是为每个 head、footer、nav 定义一个单独的文件,并从您的内容模板中包含这些文件。

head.php

<!doctype html> <html> ... 

nav.php

<body> <a href=..> page1 </a> <a href=..> page2 </a> <a href=..> page3 </a>

foot.php

</body> </html>

要创建一个完整的页面,您可以:

<?php
include 'head.php';
include 'nav.php'

An article about prune juice.

include 'foot.php';
?>

现在,如果我理解正确,您只想包含一个文件并能够生成各种元素(head、nav、whathaveyou)。您可以通过将包含语句包装在函数中来做到这一点:

超级模板

<?php
function head() { include 'head.php'; }
function nav() { include 'nav.php'; }

function randomElement() { ?>
    An article about prune juice. <?php
}

function totalymisguideddynamiccontents() {
    echo "<div> foobar <span> moo </span></div>"
}

function() { include 'foot.php'; }
?>

..然后在你的最后一页中,调用这些函数:

超级页面

<?php

include 'ubertemplate.php';
?>    

<?php head() ?>
<script src=superlib.js></src>
<?php nav() ?>

Yomama so big when she wears a yellow coat people yell TAXI!. 

<?php foot() ?>

最后,如果我理解正确并且您认为 uberpage 方法似乎是个好主意,那么您应该尝试一下。这很可能是意识到它有缺陷的唯一方法。我并不是要嘲笑你的想法,但有更好的方法来处理模板,而第一种方法,你试图避免的,更干净(但这只是我的意见)。

要获得更好的方法,请查看 twig 模板或进行更多研究并找到适合您需求的框架。

【讨论】:

  • 谢谢。这正是我一直在寻找的,尽管,现在。我一直在努力随着编码的发展而进步;努力学习更好更有效的方法。我只是一次迈出这一步。我相信我将来会想出更好的东西,然后问自己为什么我曾经这样做过!?
  • 我觉得我可以管理一个,或者最少数量的 php 文件/模板将是我处理这个网站的最佳、最有条理的方式。我不想要几个不同的模板(例如页眉、页脚、导航等)。拥有多个 php 包含文件有优势吗?对于我,一个 php 初学者来说,为不同的页面元素拥有多个 php 文件似乎并不干净。如果这就是你的意思?
  • 如果你想把所有东西都放在一个文件里,那就去吧。这只是口味问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-09
  • 2015-05-11
  • 1970-01-01
  • 2013-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多