如何在PHP中更改默认页面布局的内容[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在PHP中更改默认页面布局的内容[关闭]相关的知识,希望对你有一定的参考价值。
我有一个php网页设计类似于下面的布局。它保存为default.php
,旨在作为网站中所有页面的页面布局导入。 “A部分”和“部分B”中的内容对于所有页面都是相同的,但我想更改每个页面的“部分C”的内容。我该怎么做呢?
我知道我可以在.NET框架中使用“内容占位符”,但我如何在PHP中执行此操作?我是PHP的新手 - 您的帮助将不胜感激。
+------------------------------+
| section A |
|-----+------------------------|
| | |
| | |
| | |
| B | section C |
| | |
| | |
+-----+------------------------+
如果您正在询问如何使用php页面作为模板,那么您可以采用一些不同的方法。
将主页分为两个,一个在C部分之前,一个在C之后,然后包括每个页面之前/之后。
例:
include('includes/masterA.php');
//INSERT PHP HERE
echo $content;
include('includes/masterB.php');
或者将你的php代码预先计算成一个内容变量,告诉主页回显它,并且,因为include将它计为一个大脚本,它将只是选择你预先指定的那个并回显结果。
例:
//INSERT PHP HERE
$content = "textfromphp";
include('includes/master.php');
master.php:
echo "<div>Section A</div>";
echo "<div>Section B</div>";
echo "<div>Content:".$content."</div>";
您可以使用“ob_start”捕获一个变量中的C部分内容然后在default.php中添加它在C部分
C节输出
<?php
ob_start();
echo "<div>Hello</div>";
$section_c = ob_get_contents();
ob_end_clean();
?>
如default.php
<html>
<body>
<div id="section-a">...</div>
<div id="section-b">...</div>
<div id="section-c">
<?php echo $section_c ?>
</div>
<body>
</html>
或者,最好使用Twig Template Engine,它以干净和标准的方式解决这个问题。你可以在Twig找到有关Twig Installation and Configuration以及安装和配置指南的更多信息
根据您的评论,如果您使用require包含default.php,则只需将default.php中的内容交换为变量,然后在需要default.php之前设置该变量。
举个例子:
//index.php
$page = isset($_GET['p'])? $_GET['p'] : 'home';
$pages = ['home','about','contact'];
$include = in_array($page, $pages) ? $page . '.php' : 'error.php';
require_once('default.php');
//default.php
<html>
<head></head>
<body>
<div class="header">
<h1>Page header</h1>
</div>
<div class="leftcol">
<p>left column contents</p>
</div>
<div class="main">
<?php include($include);?>
</div>
</body>
</html>
然后,您将访问不同的页面,如下所示:
example.com/ //would show homepage
example.com/?p=about //would show about page
example.com/?p=blahfff //would show error page
在您的情况下,页面类,当您到达C部分时,您需要做的就是拥有一个将被回显的var命名内容。所以脚本应该像这样加载:
- 页面类
- C部分(不论该部分是什么)
所以你点击的每一件事以及你去的任何地方,结果都必须返回给一个方法,让我们称之为在页面类中继的displayContent($content)
。换句话说,页面类需要包含在要在C部分中显示的每个php文件中,并且每次调用displayContent($content)
方法,在文件的末尾,$ content填充HTML代码:D
希望能帮助到你! 继续编码! 战神。
您可以使用PHP include
函数来执行此操作,请考虑以下示例。
如default.php:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<header><?php include 'sec-a.php';?></header>
<section>
<aside><?php include 'sec-b.php';?></aside>
<aside><?php include 'sec-c.php';?></aside>
</section>
</body>
</html>
科a.php只会:
<code>to appear in section A</code>
科b.php:
<code>to appear in section B</code>
科c.php:
<code>to appear in section C</code>
以上是关于如何在PHP中更改默认页面布局的内容[关闭]的主要内容,如果未能解决你的问题,请参考以下文章