Друкарня від WE.UA

PHP 8.3: Що нового?

Це наступний великий реліз мови програмування PHP. Його випуск заплановано на 2023 рік. Сьогодні ми разберемо нові функціі, які будуть додані.

Додано функцію json_validate

У PHP 8.3 додано нову функцію json_validate, яка повертає true або false, якщо заданий рядок є коректним рядком JSON.

json_validate('[1, 2, 3]'); // true
json_validate('{1, 2, 3]'); // false

Нарешті! Бувай json_decode() ≠ null!

Докладніше тут: json_validate

Підтримка динамічної константи класу та члена Enum

PHP 8.3 і вище підтримує вибірку констант класів і об'єктів Enum з іменем змінної.

final class EaxmpleClass {
    public const EXAMPLE_CONST = 1;
}

$constName = 'EXAMPLE_CONST';

echo EaxmpleClass::{$constName};

Те саме для Enum

enum ExampleEnum: int {
    case Amount = 42;
}

$enumName = 'Amount';

echo ExampleEnum::{$enumName}->value;

Стара функція \constant() залишилась.

Як на мене, є більш важливі речі які слід було б зробити, але маємо що маємо.

Докладніше тут: тик

Нова функція gc_status()

Функція gc_status() повертає статистику роботи збирача сміття PHP, яка містить інформацію про те, чи запущений збирач сміття, чи є він захищеним від втрати даних та який обсяг буфера використовується. Ці дані можуть бути корисними при налагодженні довготривалих PHP-додатків з метою виявлення та оптимізації використання пам'яті.

Це дуже корисна функція, коли вам потрібно оптимізувати дуже важкий скрипт, який використовує багато пам'яті.

Докладніше тут: тик

Нові функціі для \Random\Randomizer

Клас \Random\Randomizer в PHP 8.3 підтримує новий метод getBytesFromString, який повертає випадкову послідовність чисел запитуваної довжини (параметр $length), що містить лише байти із запитуваної серії байт (параметр $string)

Він не може ефективно перемішувати багатобайтові символи, такі як емодзі, CJK-символи та східні/індоєвропейські символи.

Приклад застосування:

$randomizer = new Random\Randomizer();
$symbolList = '0123456789ABCDEFGHJKMNPQRSTVWXYZ';

$randomizer->getBytesFromString($symbolList, 5); // "5YH8T"
$randomizer->getBytesFromString($symbolList, 5); // "XBZ9P"

Детальніше тут: тик

Розширення Random у PHP 8.3 додає методи \Random\Randomizer::getFloat() та \Random\Randomizer::nextFloat(), які генерують випадкове значення з плаваючою комою.

Також з'явилося нове зчислення \Random\IntervalBoundary Enum, яке можна використовувати як параметр методу getFloat, щоб вказати, чи повинні межі $min і $max бути включними чи ні.

Приклад застосування:

$randomizer = new Random\Randomizer();
$randomizer->getFloat(0, 10, \Random\IntervalBoundary::OpenOpen); // 9.3835746900717
$randomizer->getFloat(0, 10, \Random\IntervalBoundary::OpenOpen); // 3.065611591453

Новий метод \Random\Randomizer::nextFloat() функціонально ідентичний методу \Random\Randomizer::getFloat(0, 1, \Random\IntervalBoundary::ClosedOpen).

JavaScript Math.random() також подібний до \Random\Randomizer::nextFloat(), оскільки обидва вони повертають випадкове значення у діапазоні 0 <= та < 1.

Приклад застосування:

$randomizer = new Random\Randomizer();
$randomizer->nextFloat(); // 0.21185336351144

Детальніше тут: тик

Інформація взята з php.watch

Статті про вітчизняний бізнес та цікавих людей:

  • Як модні бренди формують культуру та впливають на глобальні fashion-тренди

    Модні бренди часто стають символами ідентичності. Вони впливають на вибір способу життя не тільки в одязі — розкішні годинники, парфуми, товари для дому та враження підкріплюють культурні наративи успіху, смаку та вишуканості.

    Теми цього довгочиту:

    Мода
  • Створити блог на Друкарні - швидко, легко та безкоштовно

    Друкарня - це зручне та безкоштовне середовище для ведення власного блогу. В даній статті ми розповідаємо про основні переваги та функціональні можливості для того, щоб зацікавити нових авторів створити власний блог на Друкарні. Будь ласка, поширте цю інформацію.

    Теми цього довгочиту:

    Друкарня
  • Чому Google Merchant Center може заблокувати обліковий запис?

    Одним з найбільш ефективних каналів продажів є система Google Merchant Center. Правда, акаунт в ній може бути несподівано заблокований, якщо при його налаштуванні були порушені правила системи. У статті розглянемо підводні камені і дамо відповідь як уникнути блокування

    Теми цього довгочиту:

    Google Merchant Center
  • Бухгалтерський супровід ФОП: сучасний підхід до обліку

    Завдяки розвитку інформаційних технологій, впровадженню сучасних рішень і сервісів процес ведення бухобліку бізнесу став значно простішим і зручним. З іншого боку, ті ж технології додали бухгалтерам роботи – з обліком онлайн-продажів і надходжень у валюті, CRM-системами та ін.

    Теми цього довгочиту:

    Бухгалтерський Облік Фоп
  • Пилосос як базова техніка для щоденного прибирання

    Підтримання чистоти в оселі потребує зручних і продуманих рішень, особливо коли йдеться про догляд за різними поверхнями. У домашньому побуті пилосос залишається базовою побутовою технікою, що поєднує сухе та вологе очищення без зайвих зусиль.

    Теми цього довгочиту:

    Пилососи
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
M
Myroslav@Itsimiro we.ua/Itsimiro

3Довгочити
459Прочитання
5Підписники
На Друкарні з 15 квітня

Більше від автора

Це також може зацікавити:

Коментарі (3)

О, навіть такі довгочити тут є. Дякую за корисну інформацію!

Це також може зацікавити: