Skip to main content
NewWebmaster.RU

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;
    }
}