如何在.php中声明一个变量,然后在包含的.php中使用?

时间:2015-08-12 02:31:16

标签: php html function variables

我正在为我所有网站的网页创建固定标题。

我想在每个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文件中?

1 个答案:

答案 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 } ?>