Первая программа на PHP
Чему вы научитесь:
- запускать программу на PHP из файла и печатать текст командой
echo; - записывать инструкции и комментарии так, чтобы код понимали и PHP, и люди;
- отличать ошибку разбора, фатальную ошибку и предупреждение по сообщению PHP;
- писать свою функцию с
returnи предсказывать, что напечатает вложенный вызов.

Представьте карточку с рецептом. На ней по порядку записаны шаги: «вскипятите воду», «положите макароны», «посолите». Повар берёт карточку, читает её сверху вниз и выполняет шаг за шагом.
Компьютер работает с программой так же. Программа — это текст с командами, записанными по порядку. PHP — это и язык, на котором пишут такие команды, и программа с тем же именем, которая их выполняет: она читает файл сверху вниз и выполняет команду за командой.
В нашей картинке файл с программой — это карточка с рецептом, а PHP — повар. Вот программа, которая печатает приветствие:
<?php
echo "Hello, world!\n"; // Hello, world!Давайте разберём её по строкам:
<?php— открывающий тег: метка «дальше идёт код на PHP».- Пустая строка отделяет тег от кода. Её требуют общие правила оформления кода на PHP.
echo— команда, которая печатает. После неё в двойных кавычках стоит текст, который нужно напечатать.- Точка с запятой в конце завершает команду.
Запись // Hello, world! в конце строки — подсказка для вас: она показывает, что напечатает программа. PHP такие подсказки пропускает, поэтому в вывод они не попадают.
Файл и запуск
Текст программы хранят в файле с расширением .php, например hello.php. Это и есть карточка, которую вы отдаёте повару.
Чтобы запустить программу, сделайте три шага:
- Сохраните программу в файл
hello.php. - Откройте папку с файлом в VS Code и выберите в меню «Terminal → New Terminal»: внизу окна появится терминал — окно для текстовых команд.
- Наберите команду
php hello.phpи нажмите Enter.
PHP прочитает файл, выполнит его и напечатает Hello, world! в том же окне. Ссылки на установщик PHP собраны в блоке «Подготовка компьютера» на странице курса.
Что печатает echo
echo печатает текст из кавычек, а сами кавычки не печатает. Кавычки отмечают, где текст начинается и где заканчивается. В них может стоять текст на любом языке, в том числе на русском: echo "Привет!\n"; напечатает Привет!.
Запись \n внутри двойных кавычек означает перевод строки: после него вывод продолжается с новой строки. Сам echo строку не переводит, поэтому \n ставят в конце каждого текста, который должен занять свою строку.
Сверху вниз
Вернёмся к рецепту. PHP выполняет команды файла по очереди, сверху вниз, поэтому вывод идёт в том же порядке, что и строки программы:
<?php
echo "Boil water\n"; // Boil water
echo "Add pasta\n"; // Add pasta
echo "Add salt\n"; // Add saltДавайте посмотрим, что происходит при запуске:
- PHP выполняет первый
echo, и в окне появляетсяBoil water. - Второй
echoпечатает строкой нижеAdd pasta. - Третий печатает
Add salt. - Команд больше нет, и программа завершается.
Здесь картинка с рецептом упрощает. Настоящие программы умеют пропускать и повторять шаги, а наши первые программы выполняются один раз, сверху вниз.
Где работает PHP
Чаще всего PHP работает на сайтах. Когда вы открываете страницу такого сайта, программу на PHP запускает сервер — компьютер, на котором живёт сайт. Всё, что она напечатала, сервер отправляет в браузер.
Печатает такая программа не приветствие, а HTML — текст, из которого браузер собирает страницу. Поэтому печать — главная работа программы на PHP: страницу, которую вы видите, программа напечатала.
Открывающий и закрывающий теги
Открывающий тег обязателен. Без <?php PHP не увидит кода и напечатает текст файла как есть, вместе со словом echo и кавычками.
У открывающего тега есть пара — закрывающий тег ?>. Всё, что стоит после него, PHP не выполняет, а печатает как обычный текст. Поэтому в файле, где только код на PHP, ?> не пишут: случайный пробел или лишняя пустая строка после него попадут в вывод.
На собеседовании любят спрашивать, нужен ли ?> в конце файла. Ответ: в файле только с кодом на PHP он не нужен, его опускают, чтобы в вывод не попал лишний текст.
Частая ошибка
В первом тексте забыли \n:
<?php
echo "Hello"; // ✗
echo "world\n";Сообщения об ошибке нет, но программа печатает оба слова слитно, в одну строку: Helloworld. echo печатает ровно то, что стоит в кавычках, и сам строку не переводит. Исправление — дописать \n в конец первого текста: "Hello\n".
Главное
- Программу на PHP выполняет PHP: команда
php hello.phpчитает файл и выполняет его сверху вниз. - Код начинается с тега
<?php, а закрывающий?>в файле только с PHP не пишут. echoпечатает текст из кавычек без самих кавычек и сам строку не переводит.\nв двойных кавычках переводит строку: без него вывод несколькихechoсклеивается.