die eerste beta-vrystelling van die nuwe tak van die PHP 8-programmeertaal. Die vrystelling is geskeduleer vir 26 November. Terselfdertyd, regstellende vrystellings van PHP 7.4.9, 7.3.21 en
7.2.33, wat opgehoopte foute en kwesbaarhede uitgeskakel het.
Die belangrikste PHP 8:
- , waarvan die gebruik produktiwiteit sal verbeter.
- benoemde funksie-argumente, wat jou toelaat om waardes aan die funksie oor te dra met betrekking tot name, d.w.s. Jy kan argumente in enige volgorde deurgee en opsionele argumente definieer. Byvoorbeeld, "array_fill(begin_indeks: 0, getal: 100, waarde: 50)".
- Wanneer roep metodes met behulp van die "?"-operateur, wat jou toelaat om 'n oproep te begin slegs as die metode teenwoordig is, wat onnodige kontrole vir die terugkeer van die "nul"-waarde vermy. Byvoorbeeld, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
- Ondersteun , wat versamelings van twee of meer tipes definieer (byvoorbeeld, "public function foo(Foo|Bar $input): int|float;").
- Ondersteun (aantekeninge) wat jou toelaat om metadata (soos tipe inligting) aan klasse te bind sonder om Docblock-sintaksis te gebruik.
- Ondersteuning vir uitdrukking , wat, anders as skakelaar, waardes kan teruggee, kombinasietoestande kan ondersteun, streng tipe vergelykings kan gebruik en nie 'n "breek"-spesifikasie vereis nie.
$result = pas($invoer) {
0 => "hallo",
'1', '2', '3' => "wêreld",
}; - klasdefinisies, wat jou toelaat om die definisie van 'n konstruktor en eienskappe te kombineer.
- Nuwe tipe terugkeer - .
- Nuwe tipe - , wat gebruik kan word om te bepaal of 'n funksie parameters van verskillende tipes aanvaar.
- uitdrukking om uitsonderings te hanteer.
- om voorwerpe te skep wat tydens vullisversameling opgeoffer kan word (byvoorbeeld om onnodige caches te stoor).
- gebruik die uitdrukking "::klas" vir voorwerpe (analoog aan die oproep van get_class()).
- definisies in die vangblok van uitsonderings wat nie aan veranderlikes gebonde is nie.
- 'n komma agter die laaste element in die lys funksieparameters te laat.
- Nuwe koppelvlak om enige stringtipes of data te identifiseer wat na 'n string omgeskakel kan word (waarvoor die __toString()-metode beskikbaar is).
- Nuwe funksie , 'n vereenvoudigde analoog van strpos vir die bepaling van die voorkoms van 'n substring, sowel as die funksies str_starts_with() en str_ends_with() vir die kontrolering van passings aan die begin en einde van 'n string.
- Kenmerk bygevoeg , wat 'n deelbewerking uitvoer sonder om 'n fout te gooi wanneer dit deur nul gedeel word.
- snaarverbindingslogika. Byvoorbeeld, die uitdrukking 'echo "som:" . $a + $b' is voorheen geïnterpreteer as 'echo ("som: " . $a) + $b', en sal in PHP 8 as 'echo "som: " behandel word. ($a + $b)'.
- nagaan van rekenkundige en bisbewerkings, byvoorbeeld, sal die uitdrukkings "[] % [42]" en "$object + 4" 'n fout tot gevolg hê.
- 'n stabiele sorteeralgoritme waarin die volgorde van identiese waardes oor verskillende lopies bewaar word.
Bron: opennet.ru
