我正在为我所有网站的网页创建固定标题。
我想在每个index.php中包含一个页面标题,它是页面标题的一部分,在包含的header.php中编码,页面标题应在页面本身声明,然后在静态header.php中引用文件为css等。
我当前的方法在两个文件(index.php和header.php)之间看起来像这样:
的index.php:
<html>
<title>Site Title</title>
<?php
$pageTitle="About";
?>
<link rel="stylesheet" href="style.css">
<?php include_once("header.php"); ?>
<body> ...
的header.php:
<div id="pageTitle">
<?php function getText() {echo $pageTitle;}
getText();
?>
</div>
如何修改文件以将pageTitle变量传递到包含的header.php文件中?
答案 0 :(得分:0)
如果删除函数定义并调用,那么您的代码只是echo语句,它应该可以工作。所以,你的header.php代码将是:
<div id="pageTitle">
<?php echo $pageTitle;
?>
</div>
这是因为PHP中的变量作用域的工作原理。在函数内创建和/或引用的变量被视为局部变量,除非使用global $variableName
将它们显式标记为全局变量。请参阅:http://php.net/manual/en/language.variables.scope.php
或者,作为传递变量的更透明方式,您可以将所有头代码包装在函数中,并从index.php调用该函数。那看起来像是: 的index.php:
<html>
<title>Site Title</title>
<?php
$pageTitle="About";
?>
<link rel="stylesheet" href="style.css">
<?php
include_once("header.php");
displayHeader($pageTitle);
?>
<body> ...
的header.php:
<?php function displayHeader($pageTitle) { ?>
<div id="pageTitle">
<?php echo $pageTitle; ?>
</div>
<?php } ?>