PHP 8-in beta sınaqlarına başlanılıb

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

Əsas yeniliklər PHP 8:

  • Açılır JIT kompilyatoru, istifadəsi məhsuldarlığı artıracaq.
  • Dəstək именованных аргументов функций, позволяющих передававать в функцию значения в привязке к именам, т.е. можно передавать аргументы в произвольном порядке и определять необязательные аргументы. Например, «array_fill(start_index: 0, num: 100, value: 50)».
  • При вызове методов icazə verildi применение оператора «?», который позволяет инициировать вызов только, если метод присутствует, что позволяет избежать лишних проверок на возврат значения «null». Например, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
  • Dəstək birlik növləri, iki və ya daha çox növün kolleksiyalarının müəyyən edilməsi (məsələn, “public function foo(Foo|Bar $input): int|float;”).
  • Dəstək atributlar Docblock sintaksisindən istifadə etmədən metadata (məsələn, növ məlumatı) siniflərə bağlamağa imkan verən (annotasiyalar).
  • Поддержка выражений uyğun, которые в отличие от switch могут возвращать значения, поддерживают комбинирование условий, используют строгое сравнение типов и не требуют указания «break».

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

  • Qısaldılmış sintaksis konstruktor və xassələrin tərifini birləşdirməyə imkan verən sinif tərifləri.
  • Yeni qaytarma növü - statik.
  • Yeni tip - qarışıq, funksiyanın müxtəlif tipli parametrləri qəbul edib-etmədiyini müəyyən etmək üçün istifadə edilə bilər.
  • İfadə atmaq istisnaları idarə etmək.
  • Zəif Xəritə zibil yığımı zamanı qurban verilə bilən obyektlər yaratmaq (məsələn, lazımsız keşləri saxlamaq üçün).
  • Imkan obyektlər üçün “::class” ifadəsindən istifadə etməklə (get_class() çağırışının analoqu).
  • Imkan dəyişənlərə bağlı olmayan istisnaların tutma blokundakı təriflər.
  • Imkan funksiya parametrləri siyahısında sonuncu elementdən sonra vergülün qoyulması.
  • Yeni interfeys Simli sətirə çevrilə bilən hər hansı sətir növlərini və ya verilənləri müəyyən etmək üçün (bunun üçün __toString() metodu mövcuddur).
  • Yeni xüsusiyyət str_contains(), alt sətirin baş verməsini təyin etmək üçün strposun sadələşdirilmiş analoqu, həmçinin str_starts_with() və str_ends_with() funksiyaları sətrin əvvəlində və sonunda uyğunluqları yoxlamaq üçün.
  • Əlavə edilmiş xüsusiyyət fdiv(), sıfıra bölərkən xəta atmadan bölmə əməliyyatını yerinə yetirir.
  • Dəyişdi simli birləşmə məntiqi. Məsələn, 'echo "sum:" ifadəsi. $a + $b' əvvəllər 'echo ("sum: " . $a) + $b' kimi şərh edilmişdi və PHP 8-də 'echo "sum:" kimi qəbul ediləcək. ($a + $b)'.
  • Sıxılmış arifmetik və bit əməliyyatlarının yoxlanılması, məsələn, "[] % [42]" və "$object + 4" ifadələri xəta ilə nəticələnəcək.
  • Həyata keçirilən eyni dəyərlərin ardıcıllığının müxtəlif dövrlərdə qorunduğu sabit çeşidləmə alqoritmi.
  • Mənbə: opennet.ru

Добавить комментарий