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

Представио прво бета издање нове гране програмског језика ПХП 8. Издање је заказано за 26. новембар. Истовремено, корективна издања ПХП 7.4.9, 7.3.21 и
7.2.33, који је елиминисао нагомилане грешке и рањивости.

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

  • Повер уп ЈИТ компајлер, чија ће употреба побољшати продуктивност.
  • подршка именовани аргументи функције, који вам омогућавају да пренесете вредности у функцију у односу на имена, тј. Можете прослеђивати аргументе било којим редоследом и дефинисати опционе аргументе. На пример, „попуна_низа(почетни_индекс: 0, број: 100, вредност: 50)“.
  • Приликом позивања метода дозвољено користећи оператор „?”, који вам омогућава да покренете позив само ако је метод присутан, чиме се избегавају непотребне провере за враћање „нулл” вредности. На пример, "$датеАсСтринг = $боокинг->гетСтартДате()?->асДатеТимеСтринг()";
  • подршка типови синдиката, дефинишући колекције од два или више типова (на пример, „јавна функција фоо(Фоо|Бар $инпут): инт|флоат;”).
  • подршка атрибути (напомене) које вам омогућавају да повежете метаподатке (као што су информације о типу) за класе без употребе Доцблоцк синтаксе.
  • Подршка експресији меч, који, за разлику од прекидача, може да враћа вредности, подржава услове комбиновања, користи стриктна поређења типова и не захтева спецификацију „прекидања“.

    $резулт = подударање($инпут) {
    0 => "здраво",
    '1', '2', '3' => „свет”,
    };

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

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