PHP современные возможности языка
info
- статья еще в процессе наполнения
PHP за последние годы изрядно "прокачался", синтаксис и конструкции языка стали более удобными и приятными.
Этот материал служит "шпаргалкой" по PHP8 для разработчиков и меня лично
Разделитель для числовых значений #
Начнем с простого. С версии 7.4
есть возможность использовать подчеркивание _
для разделения в больших числах
Пример:
$num = 1_000_000;
Поддерживаемые форматы:
1_000_000 // Десятичные
6.62_607_004e-34 // Экспоненциальная запись числа
0.300_000_000_000_000_04 // Значения с плавающей запятой
0b1111_0000_1001_1111_1001_0010_1010_1001 // Двоичные
0123_7264 // Восьмиричные
0xBEEF_BABE // Шестнадцатеричные
Именованные аргументы(параметры) #
До их появления мы писали так:
function calculatePrice(
$net = 0,
$raw = 0,
$taxes = 0
) {}
// а чтобы передать в функцию например только третий аргумент приходилось делать так
calculationPrice(
null,
null,
200
)
С приходом PHP8 передать значение можно по имени аргумента
calculationPrice(taxes: 200);
Объединение типов (Union types) #
В версии 7.4 мы получили возможность типизации в PHP. С версии PHP 8.0, мы можем объявлять более одного типа для аргументов, возвращаемых типов и свойств класса:
class Example {
private int|float $foo;
public function sum(float|int $bar): int|float {
return $this->foo + $bar;
}
}