PHP 8 ТИПИЗАЦИЯ

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

PHP 8 поддерживает два типа типизации: строгую и широкую. Строгая типизация требует, чтобы переменные были объявлены с явным указанием типа, а широкая допускает неявное приведение типов в случае несоответствия. Чтобы включить строгую типизацию в PHP 8, необходимо указать соответствующий оператор в начале файла:

declare(strict_types=1);

После этого все функции и методы, объявленные в этом файле, будут работать со строгой типизацией. Например, если объявить функцию с явным указанием типа аргумента и результата:

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

То PHP 8 будет строго проверять типы входных значений и тип результата:

sum(2, 3); // результатом будет 5
sum('2', '3'); // ошибка, так как значения не соответствуют типу int

Также в PHP 8 можно указывать тип для свойств классов:

class MyClass
{
private int $myProperty;
}

Или для переменных в глобальной области видимости:

global $myVariable;
$myVariable = 4;
var_dump($myVariable); // результатом будет int(4)

Для более удобной работы с типизацией в PHP 8 появилась новая функция get_debug_type(), которая возвращает строго типизированный результат типа переменной:

$myString = "123";
var_dump(get_debug_type($myString)); // результатом будет string(3)

Covariance \u0026 Contravariance in PHP - Full PHP 8 Tutorial

PHP Iterators \u0026 Iterable Type - Iterate Over Objects - Full PHP 8 Tutorial

PHP Traits - How They Work \u0026 Drawbacks - Full PHP 8 Tutorial

Avoid These 5 Common Mistakes As A PHP Developer

Типизация в PHP

PHP's Evolution and PHP 8 Explained.

Реклама
Новое
Реклама