Типизация аргументов функции и возвращаемого значения в PHP 8

Опубликовано в: PHP шпаргалка, код, заметки

Типизация аргументов и возвращаемого значения в PHP 8

В PHP 8 значительно улучшена система типизации аргументов и возвращаемых значений. Типизация позволяет сделать код более надёжным, читаемым и самодокументируемым. Ниже представлено подробное объяснение с примерами.


Что такое типизация в PHP

Типизация — это указание типов данных, которые функция принимает в качестве аргументов и/или возвращает. Примеры типов: int, string, array, bool, float, object, callable, iterable и другие.


Основные нововведения PHP 8

1. Объединённые типы (Union Types)

Позволяют функции принимать несколько типов данных:

function setId(int|string \$id): void {
    echo "ID: \$id";
}

2. Тип mixed

Обозначает, что значение может быть любого допустимого типа:

function logValue(mixed \$value): void {
    var_dump(\$value);
}

3. Тип static

Применяется в наследуемых классах. Гарантирует, что возвращается экземпляр текущего класса:

class A {
    public function create(): static {
        return new static();
    }
}

4. Nullable-типы (null, ?)

Позволяют аргументу или возвращаемому значению быть либо заданного типа, либо null:

function getName(?string \$name): ?string {
    return \$name;
}

5. Типизация возвращаемых значений

Теперь можно указать тип значения, которое возвращает функция:

function sum(int \$a, int \$b): int {
    return \$a + \$b;
}

Если функция вернёт не int, возникнет ошибка типа.

6. Строгая типизация (strict_types)

Если активирована строгая типизация:

declare(strict_types=1);

function multiply(int \$x, int \$y): int {
    return \$x * \$y;
}

multiply(5, '3'); // Ошибка типа, так как '3' — строка

Пример на практике:

class User {
    public function setAge(int \$age): void {
        \$this->age = \$age;
    }

    public function getProfile(): array {
        return ['name' => 'John', 'age' => \$this->age];
    }
}

Поддерживаемые типы в PHP 8

ТипНазначение
intЦелое число
floatЧисло с плавающей точкой
stringСтрока
boolЛогический тип
arrayМассив
objectОбъект
callableВызываемая сущность (функция или метод)
iterableПеребираемый тип
mixedЛюбой тип
voidФункция ничего не возвращает
neverФункция не возвращает управление (например, вызывает exit())
staticВозвращает экземпляр текущего класса
имя_классаТип указан как конкретный класс или интерфейс

Заключение

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

При необходимости можно включить строгую типизацию (declare(strict_types=1);), чтобы PHP проверял типы максимально строго.

 

2 минут чтения Sodium Carbonate

Комментарии (0)

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Автор контента

webitproff

Оффлайн

Sodium Carbonate

Последняя авторизация: 04.08.2026 15:17

  • Страница размещена: 21.07.2025 08:18
  • Последнее обновление: 21.07.2025 08:18

Похожие страницы

Истинные и ложные значения в PHP
1 В PHP любое значение можно интерпретировать как истину (true) или ложь (false), особенно в условиях (if, while и т.
Функции в PHP. Определение и вызов функций
2 Функция – это блок кода, который можно многократно вызывать.Пример функции:function sayHello() { echo "Привет,
Функции в PHP. return
3 Функция может возвращать результат.function sum($x, $y) { $result = $x + $y; return $result; } $result =
Функции в PHP. Глобальные и локальные переменные
4 🔹 Переменные внутри функции – локальные (недоступны снаружи).function example() { $x = 10; // Локальная
Функции по работе с массивами: in_array(), array_merge() и т.д.
5 Функции по работе с массивамиФункцияОписаниеПримерarray_push()Добавляет элемент в конецarray_push($arr,