Нашри бета аввалин бахши нави забони барномасозии PHP 8. Нашри он 26 ноябр ба нақша гирифта шудааст. Ҳамзамон, версияҳои ислоҳкунандаи PHP 7.4.9, 7.3.21 ва
7.2.33, ки хатогиҳо ва осебпазириҳои ҷамъшударо бартараф кард.
асосӣ PHP 8:
- , ки истифодаи он хосилнокии мехнатро баланд мебардорад.
- Аргументҳои функсияи номбаршуда, ки ба шумо имкон медиҳанд, ки арзишҳоро ба функсия дар робита бо номҳо интиқол диҳед, яъне. Шумо метавонед далелҳоро бо дилхоҳ тартиб интиқол диҳед ва далелҳои ихтиёриро муайян кунед. Масалан, "array_fill(start_index: 0, адад: 100, арзиш: 50)".
- Ҳангоми даъват кардани усулҳо бо истифода аз оператори "?", ки ба шумо имкон медиҳад, ки зангро танҳо дар сурати мавҷуд будани усул оғоз кунед, ки аз санҷишҳои нолозим барои баргардонидани арзиши "null" канорагирӣ мекунад. Масалан, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
- Дастгирӣ , муайян кардани коллексияҳои ду ё зиёда намуд (масалан, “функсияи ҷамъиятӣ foo(Foo|Bar $input): int|float;”).
- Дастгирӣ (эзоҳҳо), ки ба шумо имкон медиҳанд, ки метамаълумотро (ба монанди маълумоти навъи) ба синфҳо бидуни истифодаи синтаксиси Docblock пайваст кунед.
- Дастгирии ифода , ки бар хилофи коммутатор, метавонад арзишҳоро баргардонад, шартҳои муттаҳидро дастгирӣ кунад, муқоисаи навъи сахтро истифода барад ва мушаххасоти "танаффус" -ро талаб намекунад.
$ натиҷа = мувофиқат ($ вуруд) {
0 => "салом",
'1', '2', '3' => "ҷаҳон",
}; - таърифҳои синф, ки ба шумо имкон медиҳад, ки таърифи созанда ва хосиятҳоро якҷоя кунед.
- Навъи нави бозгашт - .
- Навъи нав - , ки барои муайян кардани он ки оё функсия параметрҳои намудҳои гуногунро қабул мекунад, истифода мешавад.
- Эзоҳ барои коркарди истисноҳо.
- сохтани объектхое, ки хангоми чамъоварии ахлот курбони кардан мумкин аст (масалан, барои нигох доштани кэшхои нолозим).
- бо истифода аз ифодаи “::class” барои объектҳо (аналогӣ ба даъвати get_class()).
- таърифҳо дар блоки сайди истисноҳо, ки ба тағирёбандаҳо вобаста нестанд.
- гузоштани вергул пас аз элементи охирин дар рӯйхати параметрҳои функсия.
- Интерфейси нав барои муайян кардани ҳама гуна намуди сатр ё маълумоте, ки ба сатр табдил додан мумкин аст (барои он усули __toString() дастрас аст).
- Хусусияти нав , аналоги соддакардашудаи strpos барои муайян кардани пайдоиши зерсатр, инчунин функсияҳои str_starts_with() ва str_ends_with() барои тафтиши мувофиқатҳо дар аввал ва охири сатр.
- Хусусияти иловашуда , ки амалиёти тақсимкуниро бидуни партофтани хато ҳангоми тақсим кардан ба сифр иҷро мекунад.
- мантиқи пайвастшавии сатр. Масалан, ифодаи 'echo "sum:" . $a + $b' қаблан ҳамчун "echo ("sum: " . $a) + $b' тафсир шуда буд ва дар PHP 8 ҳамчун "echo "sum: " баррасӣ карда мешавад. ($a + $b)'.
- тафтиши амалҳои арифметикӣ ва битӣ, масалан, ифодаҳои "[] % [42]" ва "$object + 4" боиси хатогӣ мешаванд.
- як алгоритми мураттабсозии устувор, ки дар он тартиби арзишҳои якхела дар марҳилаҳои гуногун нигоҳ дошта мешавад.
Манбаъ: opennet.ru
