簡答題本:你不行。如果你這樣做,你會得到一個'未定義變量'的通知。
我發現在索引,家庭,聯繫人或任何其他文件中包含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