Бета тестирање ПХП 8 је почело

Представио первый бета-выпуск новой ветки языка программирования PHP 8. Релиз намечен на 26 ноября. Одновременно сформированы корректирующие выпуски PHP 7.4.9, 7.3.21 и
7.2.33, в которых устранены накопившиеся ошибки и уязвимости.

Главни иновације ПХП 8:

  • Повер уп ЈИТ компајлер, чија ће употреба побољшати продуктивност.
  • подршка именованных аргументов функций, позволяющих передававать в функцию значения в привязке к именам, т.е. можно передавать аргументы в произвольном порядке и определять необязательные аргументы. Например, «array_fill(start_index: 0, num: 100, value: 50)».
  • При вызове методов дозвољено применение оператора «?», который позволяет инициировать вызов только, если метод присутствует, что позволяет избежать лишних проверок на возврат значения «null». Например, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
  • подршка типови синдиката, дефинишући колекције од два или више типова (на пример, „јавна функција фоо(Фоо|Бар $инпут): инт|флоат;”).
  • подршка атрибути (напомене) које вам омогућавају да повежете метаподатке (као што су информације о типу) за класе без употребе Доцблоцк синтаксе.
  • Поддержка выражений меч, которые в отличие от switch могут возвращать значения, поддерживают комбинирование условий, используют строгое сравнение типов и не требуют указания «break».

    $result = match($input) {
    0 => «hello»,
    ‘1’, ‘2’, ‘3’ => «world»,
    };

  • Скраћена синтакса дефиниције класе, што вам омогућава да комбинујете дефиницију конструктора и својства.
  • Нови тип враћања - статички.
  • Нови тип - мешовит, који се може користити за одређивање да ли функција прихвата параметре различитих типова.
  • Израз бацање за обраду изузетака.
  • ВеакМап за креирање објеката који се могу жртвовати током сакупљања смећа (на пример, за складиштење непотребних кеша).
  • Прилика користећи израз „::цласс“ за објекте (аналогно позиву гет_цласс()).
  • Прилика дефиниције у блоку цатцх изузетака који нису везани за променљиве.
  • Прилика остављајући зарез после последњег елемента на листи параметара функције.
  • Нови интерфејс Стрингабле да идентификује све типове стрингова или податке који се могу конвертовати у стринг (за које је доступан метод __тоСтринг()).
  • Нова карактеристика стр_цонтаинс(), поједностављени аналог стрпос за одређивање појављивања подниза, као и функције стр_стартс_витх() и стр_ендс_витх() за проверу подударања на почетку и крају стринга.
  • Додата функција фдив(), који врши операцију дељења без грешке приликом дељења са нулом.
  • Промењено логика спајања низа. На пример, израз 'ецхо "сум:" . $а + $б' се раније тумачило као 'ецхо ("сума: " . $а) + $б', ау ПХП 8 ће се третирати као 'ецхо "сум: " . ($а + $б)'.
  • Затегнути провера аритметичких и битних операција, на пример, изрази "[] % [42]" и "$објецт + 4" ће довести до грешке.
  • Имплементирано стабилан алгоритам за сортирање у којем се редослед идентичних вредности чува у различитим серијама.
  • Извор: опеннет.ру

Додај коментар