W3docs

Синтаксис PHP: руководство для веб-разработчиков

PHP — серверный скриптовый язык для создания динамических веб-страниц. Изучите синтаксис PHP: теги, операторы, переменные, типы данных и функции.

PHP — расшифровывается как PHP: Hypertext Preprocessor — это серверный скриптовый язык для создания динамических веб-страниц. Серверный означает, что код выполняется на веб-сервере, и в браузер отправляется только результат (как правило, HTML), поэтому посетители никогда не видят исходный код. Правильный синтаксис — это основа написания PHP, который реально работает, ведь PHP, как и большинство языков, строго требует соблюдения структуры кода.

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

Теги PHP: где живёт код

Весь PHP-код должен находиться внутри тегов PHP. Сервер обрабатывает как код только текст внутри этих тегов; всё остальное отправляется в браузер без изменений.

<?php
// PHP code goes here
echo "Hello from the server!";
?>

Стандартный открывающий тег — <?php, закрывающий — ?>. Существует также краткий тег вывода, <?= ... ?>, который является сокращением для <?php echo ... ?> и удобен при смешивании PHP с HTML:

<p>Welcome, <?= $name ?>!</p>

В файле, содержащем только PHP (без окружающего HTML), рекомендуется не указывать закрывающий тег ?>. Это предотвращает случайные пробельные символы после него, которые могут попасть в браузер, что ломает заголовки и приводит к трудноуловимым ошибкам.

Инструкции и точки с запятой

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

<?php
$greeting = "Hello";   // statement 1
echo $greeting;        // statement 2

Пробельные символы и переносы строк между инструкциями игнорируются, поэтому вы можете свободно использовать отступы для удобочитаемости. Фигурные скобки { } группируют инструкции в блоки (например, тело if или функции).

Комментарии в PHP

Комментарии — это заметки для людей; PHP игнорирует их при выполнении скрипта. Они бывают трёх видов:

<?php
// This is a single-line comment

# This is also a single-line comment

/*
  This is a
  multi-line comment
*/
echo "Comments do not appear in the output";

Подробнее смотрите в разделе Комментарии PHP.

Переменные в PHP

Переменная — это именованный контейнер для значения. В PHP имена переменных всегда начинаются с символа $, за которым следует буква или знак подчёркивания, а затем любая комбинация букв, цифр и знаков подчёркивания. Тип объявлять не нужно — PHP определяет его из присвоенного значения.

$firstName = "John";
$lastName = "Doe";
$age = 30;

Имена переменных чувствительны к регистру: $firstName и $FirstName — это два совершенно разных имени. (Ключевые слова, такие как echo, if и function, не чувствительны к регистру, но принято писать их в нижнем регистре.)

Подробнее — в разделе Переменные PHP.

Типы данных в PHP

PHP поддерживает несколько встроенных типов данных. Тип определяется присвоенным значением, а PHP при необходимости автоматически выполняет преобразование типов.

ТипПример
String"John Doe"
Integer42
Float3.14
Booleantrue / false
Array["a", "b", "c"]
Nullnull

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

<?php
$name = "John";
echo "Hello, $name\n";  // Hello, John  (variable is parsed)
echo 'Hello, $name';    // Hello, $name (printed literally)

Массивы хранят несколько значений под одним именем. Их можно создавать с помощью функции array() или краткого синтаксиса [] — они эквивалентны, и [] предпочтителен в современном коде.

$fruits = array("apple", "banana", "cherry");
$vegetables = ["carrot", "potato", "onion"];

echo $fruits[0];      // apple  (indexes start at 0)
echo $vegetables[2];  // onion

Полную картину смотрите в разделах Типы данных PHP и Массивы PHP.

Операторы в PHP

Операторы выполняют действия над значениями и переменными. Наиболее распространённые группы — арифметические, сравнения и логические операторы.

<?php
$x = 10;
$y = 20;
$sum = $x + $y;        // 30  (arithmetic)

var_dump($x == $y);    // bool(false)  (loose comparison)
var_dump(5 == "5");    // bool(true)   (== compares value only)
var_dump(5 === "5");   // bool(false)  (=== also compares type)

Обратите внимание на разницу между == (нестрогое равенство, сравнивает значение) и === (строгое равенство, сравнивает значение и тип). Использование === позволяет избежать неожиданных результатов при сравнении чисел со строками. Полный список — в разделе Операторы PHP.

Функции в PHP

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

<?php
function greet($name) {
  return "Hello, " . $name . "!";
}

echo greet("John");  // Hello, John!
echo "\n";
echo greet("Jane");  // Hello, Jane!

Здесь . — это оператор конкатенации строк, объединяющий две строки. Функции помогают избежать повторений; подробнее — в разделе Функции PHP.

«Попробуйте сами» недоступно для этого примера.

Заключение

Теперь вы знаете строительные блоки синтаксиса PHP: код находится внутри тегов <?php ... ?>, каждая инструкция заканчивается точкой с запятой, комментарии бывают трёх видов, а переменные записываются с ведущим $. Далее типы данных, операторы и функции позволяют хранить и обрабатывать информацию. Освойте эти основы — и остальное в PHP (управление потоком, классы, стандартная библиотека) покажется знакомым.

Хороший следующий шаг — раздел PHP Echo и Print, где объясняется, как выводить данные на страницу.

Практика

Практика
В PHP, какие из перечисленных вариантов являются правильными способами начала и окончания блока команд PHP?
В PHP, какие из перечисленных вариантов являются правильными способами начала и окончания блока команд PHP?
Was this page helpful?