Перейти к содержимому
Теория · Первая программа · урок 1 из 7

Первая программа на PHP

Чему вы научитесь

Чему вы научитесь:

  • запускать программу на PHP из файла и печатать текст командой echo;
  • записывать инструкции и комментарии так, чтобы код понимали и PHP, и люди;
  • отличать ошибку разбора, фатальную ошибку и предупреждение по сообщению PHP;
  • писать свою функцию с return и предсказывать, что напечатает вложенный вызов.
Карточка рецепта с шагами под строкой <?php, стрелка сверху вниз и поварской колпак php

Представьте карточку с рецептом. На ней по порядку записаны шаги: «вскипятите воду», «положите макароны», «посолите». Повар берёт карточку, читает её сверху вниз и выполняет шаг за шагом.

Компьютер работает с программой так же. Программа — это текст с командами, записанными по порядку. PHP — это и язык, на котором пишут такие команды, и программа с тем же именем, которая их выполняет: она читает файл сверху вниз и выполняет команду за командой.

В нашей картинке файл с программой — это карточка с рецептом, а PHP — повар. Вот программа, которая печатает приветствие:

PHP
<?php

echo "Hello, world!\n"; // Hello, world!

Давайте разберём её по строкам:

  1. <?php — открывающий тег: метка «дальше идёт код на PHP».
  2. Пустая строка отделяет тег от кода. Её требуют общие правила оформления кода на PHP.
  3. echo — команда, которая печатает. После неё в двойных кавычках стоит текст, который нужно напечатать.
  4. Точка с запятой в конце завершает команду.

Запись // Hello, world! в конце строки — подсказка для вас: она показывает, что напечатает программа. PHP такие подсказки пропускает, поэтому в вывод они не попадают.

Файл и запуск

Текст программы хранят в файле с расширением .php, например hello.php. Это и есть карточка, которую вы отдаёте повару.

Чтобы запустить программу, сделайте три шага:

  1. Сохраните программу в файл hello.php.
  2. Откройте папку с файлом в VS Code и выберите в меню «Terminal → New Terminal»: внизу окна появится терминал — окно для текстовых команд.
  3. Наберите команду php hello.php и нажмите Enter.

PHP прочитает файл, выполнит его и напечатает Hello, world! в том же окне. Ссылки на установщик PHP собраны в блоке «Подготовка компьютера» на странице курса.

Что печатает echo

echo печатает текст из кавычек, а сами кавычки не печатает. Кавычки отмечают, где текст начинается и где заканчивается. В них может стоять текст на любом языке, в том числе на русском: echo "Привет!\n"; напечатает Привет!.

Запись \n внутри двойных кавычек означает перевод строки: после него вывод продолжается с новой строки. Сам echo строку не переводит, поэтому \n ставят в конце каждого текста, который должен занять свою строку.

Сверху вниз

Вернёмся к рецепту. PHP выполняет команды файла по очереди, сверху вниз, поэтому вывод идёт в том же порядке, что и строки программы:

PHP
<?php

echo "Boil water\n"; // Boil water
echo "Add pasta\n"; // Add pasta
echo "Add salt\n"; // Add salt

Давайте посмотрим, что происходит при запуске:

  1. PHP выполняет первый echo, и в окне появляется Boil water.
  2. Второй echo печатает строкой ниже Add pasta.
  3. Третий печатает Add salt.
  4. Команд больше нет, и программа завершается.

Здесь картинка с рецептом упрощает. Настоящие программы умеют пропускать и повторять шаги, а наши первые программы выполняются один раз, сверху вниз.

Где работает PHP

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

Печатает такая программа не приветствие, а HTML — текст, из которого браузер собирает страницу. Поэтому печать — главная работа программы на PHP: страницу, которую вы видите, программа напечатала.

Открывающий и закрывающий теги

Открывающий тег обязателен. Без <?php PHP не увидит кода и напечатает текст файла как есть, вместе со словом echo и кавычками.

У открывающего тега есть пара — закрывающий тег ?>. Всё, что стоит после него, PHP не выполняет, а печатает как обычный текст. Поэтому в файле, где только код на PHP, ?> не пишут: случайный пробел или лишняя пустая строка после него попадут в вывод.

На собеседовании любят спрашивать, нужен ли ?> в конце файла. Ответ: в файле только с кодом на PHP он не нужен, его опускают, чтобы в вывод не попал лишний текст.

Частая ошибка

В первом тексте забыли \n:

PHP
<?php

echo "Hello"; // ✗
echo "world\n";

Сообщения об ошибке нет, но программа печатает оба слова слитно, в одну строку: Helloworld. echo печатает ровно то, что стоит в кавычках, и сам строку не переводит. Исправление — дописать \n в конец первого текста: "Hello\n".

Главное

  • Программу на PHP выполняет PHP: команда php hello.php читает файл и выполняет его сверху вниз.
  • Код начинается с тега <?php, а закрывающий ?> в файле только с PHP не пишут.
  • echo печатает текст из кавычек без самих кавычек и сам строку не переводит.
  • \n в двойных кавычках переводит строку: без него вывод нескольких echo склеивается.