简答题本:你不行。如果你这样做,你会得到一个'未定义变量'的通知。
我发现在索引,家庭,联系人或任何其他文件中包含header.php
(和footer.php
)通常要方便得多。好处是您没有冗余代码,并且如果需要在页眉或页脚中进行修改,则只需修改一个文件。
因此,例如, 'about_us.php' 会是什么样子:
<?php
include('path/to/header.php');
#body goes here
include('path/to/footer.php');
?>
而且你的头是这样的:
<?php
$title = ucfirst(str_replace('_', ' ', substr(basename($_SERVER['PHP_SELF']), 0, -4));
?>
<html>
<head>
<title><?php echo $title; ?> page</title>
<meta name="description" content="this is the home page" />
<meta name="keywords" content="home, awesome, yes" />
</head>
<body>
的$title
变量是文件名,减去所有下划线用空格替换,第一个字的首字母大写。所以基本about_us.php
将被转换为“关于我们”。这是而不是一定是一个通用的解决方案,但我举了一个例子,记住您想在原始示例中使用动态标题。对于动态描述和关键字,根据文件名称,您还可以在switch()
声明的帮助下分配不同的值。
UPDATE:
另一种解决方案,但那种你问的反向的,但同时更接近你要找的东西是写的header.php
像
<html>
<head>
<title><?php echo $title; ?> page</title>
<meta name="description" content="<?php echo $desc; ?>" />
<meta name="keywords" content="<?php echo $keywords; ?>" />
</head>
<body>
...页脚喜欢...
</body>
</html>
...然后将它们包括在其他文件:
<?php
$title = 'Your title';
$desc = 'Your description';
$keywords = 'The, big, brown, fox, jumps, over, the, lazy, dog';
include('path/to/header.php');
?>
<!-- body goes here -->
<?php
include('path/to/footer.php');
?>
这样,你要分配所有的变量之前,你要包括在它们所引用的文件,你有不同的文件的所有链接,你不”不需要花哨的开关。另外作为一个方面说明,在PHP中包装body的HTML是一个不好的习惯。尽量保持HTML与PHP分离尽可能一般。它将有助于你和将来在代码中工作的人。
希望这会有所帮助!
好吧,那么我会把home.php中的主要内容整体变成一个长变量? – 2010-09-16 02:24:16
是的。您可以将所有变量放在HOME.PHP中,确保将其包含在您的文件顶部。 – 2010-09-16 04:27:18