#php #echo #title
#php #echo #Название
Вопрос:
Я создаю веб-сайт, который хранит базовый код веб-сайта в функциях PHP, чтобы мне не приходилось выписывать базовый код снова и снова. В моем index.php страница, на которой я вызываю одну из функций с именем head и передаю пару переменных.
Это мой код для index.php страница:
<?php
include "base.php";
head("Home");
?>
Оно включает файл base.php в котором есть заголовок функции.
Это функция head:
<?
function head($title) {
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?="$title | BASE"?></title>
<link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
</html>
<?php
}
?>
Как вы можете видеть, функция head запрашивает переменную с именем $title, которая передается в index.php как «Home». Однако при выполнении страницы вместо Home | Base
отображения заголовка заголовок отображается как <?="$title | BASE"?>
. Почему это? Мне нужно, чтобы заголовок отображался как Home | Base
и я не знаю, почему он не отображается таким образом.
Комментарии:
1. Вы хотите отобразить некоторый html-блок, передающий переменные в него? Вы делаете это очень неправильно!
2. Если вы не используете PHP 5.4 , или у вас не включены short_open_tags, то
<?=
это недоступно и не вызовет «режим PHP».3. Как еще мне это сделать, если я делаю это очень неправильно? И почему за меня проголосовали с понижением
4. Кроме того, я использовал <?php ?> и echo, и это все еще не работает.
5. Для правильной реализации вам нужно
include()
поместить этот html-блок внутри функции, передавая массив переменных
Ответ №1:
У вас должна быть short_open_tag
включена возможность использования <?= $var; ?>
синтаксиса в предыдущих версиях PHP (если вы используете версию до PHP 5.4).
Конечно, вы можете просто использовать стандартный синтаксис PHP, чтобы вы могли изменять
<?="$title | BASE"?>
в
<?php echo "$title | BASE"; ?>
если вы используете PHP < 5.4 или не можете установить short_open_tag
enabled
Ответ №2:
Заключите переменную $title в фигурные скобки: <?= echo "{$title} | Base"; ?>
или используйте .
для объединения <?= $title . " | Base"; ?>
Это приведет к разбору значения переменной вместо повторения имени. Просто заключаем имя переменной в кавычки