Skip to content

Основы PHP

PHP — это интерпретируемый язык сценариев, выполняемый на сервере. Он может быть встроен непосредственно в HTML-код, что делает его очень удобным для создания динамических веб-страниц.

Основные характеристики PHP

  • Интерпретируемый: Код PHP не компилируется в машинный код перед выполнением. Он обрабатывается интерпретатором PHP на сервере при каждом запросе.
  • Серверный: PHP-скрипты выполняются на веб-сервере, а результат их работы (обычно HTML) отправляется в браузер пользователя.
  • Встраиваемый в HTML: PHP-код может быть легко встроен в HTML-файлы с помощью специальных тегов.
  • Кроссплатформенный: PHP может работать на различных операционных системах (Windows, Linux, macOS) и веб-серверах (Apache, Nginx, IIS).
  • Большое сообщество и множество библиотек: PHP имеет огромное и активное сообщество разработчиков, а также множество готовых библиотек и фреймворков, упрощающих разработку.

Синтаксис PHP

PHP-код заключается между специальными тегами:

php
<?php
// Здесь находится PHP-код
?>

или, реже используемый, но все еще поддерживаемый формат:

php
<script language="php">
// Здесь находится PHP-код
</script>

Наиболее распространенным и рекомендуемым является использование <?php ?>.

Комментарии

Как и в большинстве языков программирования, в PHP есть возможность добавлять комментарии для пояснения кода:

  • Однострочные комментарии: Начинаются с // или #.

    php
    <?php
    // Это однострочный комментарий
    # Это тоже однострочный комментарий
    echo "Привет!"; // Комментарий в конце строки
    ?>
  • Многострочные комментарии: Заключаются между /* и */.

    php
    <?php
    /*
    Это
    многострочный
    комментарий.
    */
    echo "Мир!";
    ?>

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

Каждая инструкция в PHP обычно заканчивается точкой с запятой ;.

php
<?php
echo "Первая строка";
echo "Вторая строка";
?>

Регистрозависимость

  • Имена переменных в PHP регистрозависимы. $myVariable и $MyVariable — это две разные переменные.
  • Ключевые слова языка (например, if, else, while, echo) и встроенные функции (например, strlen(), array()) обычно регистронезависимы, хотя рекомендуется использовать их в нижнем регистре для единообразия.

Переменные

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

  • Имена переменных начинаются со знака доллара $.
  • После знака доллара может следовать буква или символ подчеркивания, за которыми может идти любое количество букв, цифр или символов подчеркивания.
  • PHP — язык с динамической типизацией. Это означает, что вам не нужно явно объявлять тип переменной; PHP определяет его автоматически во время выполнения в зависимости от присвоенного значения.
php
<?php
$name = "Иван"; // Строковая переменная
$age = 30;      // Целочисленная переменная
$price = 99.99; // Число с плавающей точкой
$isLoggedIn = true; // Булева переменная

echo "Имя: " . $name . "<br>";
echo "Возраст: " . $age . "<br>";
echo "Цена: " . $price . "<br>";
echo "Авторизован: " . ($isLoggedIn ? "Да" : "Нет") . "<br>";
?>

Область видимости переменных (Scope)

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

  • Локальная: Переменные, объявленные внутри функции, доступны только внутри этой функции.
  • Глобальная: Переменные, объявленные вне функций, доступны в глобальной области видимости. Чтобы получить доступ к глобальной переменной внутри функции, необходимо использовать ключевое слово global.
  • Статическая: Переменные, объявленные с ключевым словом static внутри функции, сохраняют свое значение между вызовами этой функции.
  • Суперглобальные: Встроенные массивы, которые всегда доступны во всех областях видимости ($_GET, $_POST, $_SESSION, $_COOKIE, $_SERVER и др.).

Типы данных

PHP поддерживает различные типы данных:

  • Скалярные типы:
    • string: Последовательность символов.
    • integer: Целые числа.
    • float (или double): Числа с плавающей точкой.
    • boolean: Логические значения (true или false).
  • Составные типы:
    • array: Упорядоченная коллекция элементов.
    • object: Экземпляр класса.
    • callable: Ссылка на функцию или метод.
    • iterable: Значение, которое можно перебирать с помощью foreach.
  • Специальные типы:
    • resource: Ссылка на внешний ресурс (например, файл, соединение с базой данных).
    • null: Специальное значение, представляющее отсутствие значения.

Операторы

PHP предоставляет различные типы операторов для выполнения операций над данными:

  • Арифметические операторы: + (сложение), - (вычитание), * (умножение), / (деление), % (остаток от деления), ** (возведение в степень).
  • Операторы присваивания: = (простое присваивание), +=, -=, *=, /=, %=, **= (комбинированные присваивания).
  • Операторы сравнения: == (равно), === (тождественно — равно по значению и типу), != или <> (не равно), !== (не тождественно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно).
  • Логические операторы: && или and (логическое И), || или or (логическое ИЛИ), ! или not (логическое НЕ).
  • Операторы инкремента/декремента: ++$x (преинкремент), $x++ (постинкремент), --$x (предекремент), $x-- (постдекремент).
  • Строковые операторы: . (конкатенация — объединение строк).
  • Тернарный оператор: (условие) ? (значение если истина) : (значение если ложь).
  • Оператор объединения с null (null coalescing operator): ?? (возвращает первый операнд, если он существует и не равен null, иначе возвращает второй операнд).

Управляющие структуры

PHP предоставляет управляющие структуры для определения порядка выполнения кода в зависимости от определенных условий:

  • if, else, elseif (или else if): Условные операторы для выполнения различных блоков кода в зависимости от истинности условия.

    php
    <?php
    $grade = 85;
    
    if ($grade >= 90) {
        echo "Отлично!";
    } elseif ($grade >= 80) {
        echo "Хорошо!";
    } else {
        echo "Удовлетворительно.";
    }
    ?>
  • switch, case, default, break: Оператор множественного выбора для выполнения различных блоков кода в зависимости от значения переменной.

    php
    <?php
    $day = "понедельник";
    
    switch ($day) {
        case "понедельник":
            echo "Начало рабочей недели.";
            break;
        case "пятница":
            echo "Конец рабочей недели.";
            break;
        default:
            echo "Середина недели.";
    }
    ?>
  • Циклы:

    • while: Выполняет блок кода до тех пор, пока условие истинно.

      php
      <?php
      $i = 1;
      while ($i <= 5) {
          echo $i . " ";
          $i++;
      }
      ?>
    • do...while: Выполняет блок кода хотя бы один раз, а затем повторяет его до тех пор, пока условие истинно.

      php
      <?php
      $i = 1;
      do {
          echo $i . " ";
          $i++;
      } while ($i <= 5);
      ?>
    • for: Выполняет блок кода заданное количество раз.

      php
      <?php
      for ($i = 0; $i < 5; $i++) {
          echo $i . " ";
      }
      ?>
    • foreach: Используется для перебора массивов и объектов.

      php
      <?php
      $colors = ["красный", "зеленый", "синий"];
      foreach ($colors as $color) {
          echo $color . " ";
      }
      
      $person = ["name" => "Анна", "age" => 25];
      foreach ($person as $key => $value) {
          echo $key . ": " . $value . "<br>";
      }
      ?>
  • break и continue:

    • break: Используется для немедленного выхода из цикла (while, do...while, for, foreach) или оператора switch.
    • continue: Используется для пропуска текущей итерации цикла и перехода к следующей.

Функции

Функции в PHP — это именованные блоки кода, которые можно вызывать многократно для выполнения определенной задачи.

php
<?php
function greet($name = "Гость") { // Аргумент по умолчанию
    echo "Привет, " . $name . "!";
}

greet("Петр");   // Выводит: Привет, Петр!
greet();        // Выводит: Привет, Гость!

function add($num1, $num2) {
    return $num1 + $num2;
}

$sum = add(5, 3);
echo "Сумма: " . $sum; // Выводит: Сумма: 8
?>

Это лишь базовое введение в PHP. Впереди еще много интересных тем, таких как работа с массивами, строками, файлами, базами данных, сессиями, куки, объектно-ориентированное программирование и многое другое. Но эти основы дадут вам хорошее представление о том, как выглядит и работает PHP-код.