Краткий вариант ответа: Вы не можете.Если вы это сделаете, вы получите уведомление «Неопределенная переменная».
Я считаю, что обычно гораздо удобнее иметь 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');
?>
Таким образом, вы назначаете всепеременные ДО того, как вы включите файлы, на которые они ссылаются, у вас есть отдельные файлы для всех ссылок, и вам не нужны причудливые переключатели.Также как примечание, оборачивать HTML тела в PHP - просто плохая практика.Старайтесь как можно больше отделять HTML от PHP.Это поможет и вам, и тем, кто собирается работать над кодом в будущем.
Надеюсь, это поможет!