Wiki-учебник по веб-технологиям: PHP/Вывод ...

Главная | |

Вывод


Оглавление документа

1. Введение


PHP содержит два основных оператора для вывода текста в браузере Web: echo и print.

Оба оператора, echo и print, кодируются между открывающим и закрывающим тегами блока кода PHP и могут находиться в любом месте в документах XHTML.

Операторы echo и print используют следующий формат:

echo – используется для вывода одной или нескольких строк.
echo «Выводимый текст»;
print – используется для вывода строки. В некоторых случаях оператор print предлагает большую функциональность, чем оператор echo.

Это будет рассмотрено далее в учебнике. Пока print можно считать другим именем оператора echo.
print " Выводимый текст"

Следующие примеры демонстрируют использование и размещение команд echo и print в документе XHTML.

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Страница Web</title>
</head>
<body>
<p>
<?php
echo "Это базовый документ PHP";
?>
</p>
</body>
</html>


В большинстве случаев необходимо выводить целые параграфы в окне браузера или создавать переносы строк при выводе контента. По умолчанию операторы echo и print не создают автоматические переносы строк, необходимо использовать тег <p> или <br> для создания параграфов или переносов строк. Разделители, создаваемые в редакторе XHTML с помощью возврата каретки, пробелов и табуляции, игнорируются процессором PHP.

В следующем примере тег параграфа XHTML включается в оператор PHP echo. В PHP теги XHTML можно применять в операторах print и echo для форматирования вывода. В этих случаях вывод необходимо заключать в двойные кавычки (""), чтобы гарантировать, что браузер не интерпретирует тег буквально и не выводит его как часть строки вывода.

echo "<p>Параграф 1</p>";
echo "<p>Параграф 2</p>";

Без использования тега параграфа XHTML предыдущие операторы echo будут выводить контент в следующем виде:
Параграф 1 Параграф 2

При включении тегов параграфов операторы выводятся как два отдельных параграфа.
Параграф 1
Параграф 2

2. Терминатор инструкции


Каждая строка кода PHP должна завершаться терминатором инструкции (признаком конца), в качестве которого используется точка с запятой (;). Терминатор инструкции применяется для отделения одного множества инструкций от другого.

Отсутствие терминатора инструкции может приводить к ошибкам в работе интерпретатора PHP и выводу ошибок в окне браузера.

Следующий фрагмент кода показывает распространенную ошибку отсутствия терминатора инструкции.

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Страница Web </title>
</head>
<body>
<p>
<?php
echo "Это строка порождает ошибку";
echo 
"В предыдущей строке отсутствует терминатор инструкции";
?>
</p>
</body>
</html>


В этом примере в первом операторе echo пропущен терминатор инструкции. Так как интерпретатор PHP не может определить конец первого оператора echo и начало второго, то происходит ошибка. В зависимости от настроек Обработки ошибок (Error Handling) интерпретатора, будет выводиться сообщение об ошибке или браузер выведет просто пустую страницу.

Далее показано типичное сообщение об ошибке, которое выводится, когда пропущен терминатор инструкции:

Parse error: syntax error, unexpected T_PRINT in C:\ApacheRoot\test.php on line 11
Ошибка при разборе: синтаксическая ошибка, непредвиденный T_PRINT в ... в строке 11

Как можно видеть, сообщения об ошибках PHP достаточно загадочны по своей природе. Отсутствие терминатора инструкции является распространенной ошибкой среди новичков PHP. Со временем появится привычка проверять каждую строку на наличие терминатора инструкции.

3. Комментарии в коде


Комментарии применяются в PHP для записи собственных замечаний во время процесса разработки кода. Такие комментарии могут определять назначение сегмента кода или их можно использовать для исключения блоков кода во время тестирования и отладки сценариев.

Синтаксический анализатор PHP игнорирует комментарии. Комментарии в PHP можно определить одним из следующих способов:
// — простой комментарий PHP;
# — альтернативный простой комментарий PHP;
/*...*/ — многострочные блоки комментариев.

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Страница Web </title>
</head>
<body>
<p>
<?php
// Простой комментарий PHP
# Другой тип простого комментария PHP
/* Многострочный блок комментария PHP
Он может занимать любое необходимое
количество строк */
?>
</p>
</body>
</html>