PHP 8 бета сынағы басталды

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

басты инновациялар PHP 8:

  • Қосу JIT компиляторы, оны пайдалану өнімділікті арттырады.
  • қолдау именованных аргументов функций, позволяющих передававать в функцию значения в привязке к именам, т.е. можно передавать аргументы в произвольном порядке и определять необязательные аргументы. Например, «array_fill(start_index: 0, num: 100, value: 50)».
  • При вызове методов рұқсат етілген применение оператора «?», который позволяет инициировать вызов только, если метод присутствует, что позволяет избежать лишних проверок на возврат значения «null». Например, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
  • қолдау одақ түрлері, екі немесе одан да көп түрлердің жинақтарын анықтау (мысалы, “жалпыға ортақ функция foo(Foo|Bar $input): int|float;”).
  • қолдау атрибуттар (аннотациялар) Docblock синтаксисін пайдаланбай, метадеректерді (мысалы, түр туралы ақпарат) сыныптарға байланыстыруға мүмкіндік береді.
  • Поддержка выражений матч, которые в отличие от switch могут возвращать значения, поддерживают комбинирование условий, используют строгое сравнение типов и не требуют указания «break».

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

  • Қысқартылған синтаксис конструктор мен қасиеттердің анықтамасын біріктіруге мүмкіндік беретін класс анықтамалары.
  • Жаңа қайтару түрі - статикалық.
  • Жаңа түрі - аралас, ол функцияның әртүрлі типтегі параметрлерді қабылдайтынын анықтау үшін пайдаланылуы мүмкін.
  • Өрнек тастаңыз ерекше жағдайларды өңдеу үшін.
  • Әлсіз карта қоқыс жинау кезінде құрбан болуға болатын нысандарды жасау (мысалы, қажетсіз кэштерді сақтау үшін).
  • Қабілеті нысандар үшін “::class” өрнегін қолдану (get_class() шақыруының аналогы).
  • Қабілеті айнымалы мәндерге байланбаған ерекшеліктерді ұстау блогындағы анықтамалар.
  • Қабілеті функция параметрлері тізіміндегі соңғы элементтен кейін үтір қалдыру.
  • Жаңа интерфейс Жіпті жолға түрлендіруге болатын кез келген жол түрлерін немесе деректерді анықтау үшін (олар үшін __toString() әдісі қолжетімді).
  • Жаңа мүмкіндік str_contains(), ішкі жолдың пайда болуын анықтауға арналған strpos-тың жеңілдетілген аналогы, сондай-ақ жолдың басы мен соңындағы сәйкестіктерді тексеру үшін str_starts_with() және str_ends_with() функциялары.
  • Қосымша функция fdiv(), ол нөлге бөлу кезінде қате жібермей бөлу операциясын орындайды.
  • Өзгертілді жолды біріктіру логикасы. Мысалы, "echo "sum:" өрнегі. $a + $b' бұрын 'echo ("sum: " . $a) + $b' ретінде түсіндірілді, ал PHP 8 тілінде 'echo "sum:" ретінде қарастырылады. ($a + $b)'.
  • Тартылған арифметикалық және бит амалдарын тексеру, мысалы, "[] % [42]" және "$объект + 4" өрнектері қатеге әкеледі.
  • Орындалды тұрақты сұрыптау алгоритмі, онда бірдей мәндердің реті әртүрлі жүгірістерде сақталады.
  • Ақпарат көзі: opennet.ru

пікір қалдыру