BETA-testing av PHP 8 har begynt

Presentert den fÞrste beta-utgivelsen av den nye versjonen av programmeringssprÄket PHP 8. Utgivelsen er planlagt til 26. november. Samtidig er det laget korrigerende utgivelser av PHP 7.4.9, 7.3.21 og
7.2.33, som retter opp akkumulative feil og sÄrbarheter.

Viktige nyheter PHP 8:

  • Aktivering av JIT-kompilatoren, hvis bruk vil Ăžke ytelsen.
  • StĂžtte navngitte argumenter for funksjoner, som tillater at verdier kan sendes til funksjonen knyttet til navn, dvs. argumenter kan sendes i vilkĂ„rlig rekkefĂžlge og valgfrie argumenter kan defineres. For eksempel, «array_fill(start_index: 0, num: 100, value: 50)».
  • NĂ„r metoder kalles er det tillatt Ă„ bruke operatoren «?», som lar deg initiere et kall bare hvis metoden er tilstede, noe som unngĂ„r unĂždvendige sjekker for returverdi «null». For eksempel, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
  • StĂžtte union-typer, som definerer samlinger av to eller flere typer (f.eks. «public function foo(Foo|Bar $input): int|float;»).
  • StĂžtte attributter (notasjoner), som lar deg knytte metadata (for eksempel typeinformasjon) til klasser uten Ă„ bruke Docblock-syntaks.
  • StĂžtte for uttrykk match, som i motsetning til switch kan returnere verdier, stĂžtter kombinasjon av betingelser, bruker streng type-sammenligning og krever ikke spesifisering av «break».

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

  • Forkortet syntaks for klassetilnĂŠrminger, som tillater sammenslĂ„ing av konstruktĂžr- og egenskapsdefinisjon.
  • Ny type returverdier — static.
  • Ny type — mixed, som kan brukes til Ă„ definere funksjonens innholdsparametere av forskjellige typer.
  • Uttrykk throw for behandling av unntak.
  • WeakMap for Ă„ lage objekter som kan bli ofret ved sĂžppeloppsamling (for eksempel for lagring av valgfrie hurtigbuffer).
  • Muligheten for bruk av uttrykket «::class» for objekter (tilsvarende Ă„ kalle get_class()).
  • Muligheten for definering i catch-blokker av unntak som ikke er knyttet til variabler.
  • Muligheten for leaving a comma after the last element in a function parameter list.
  • Ny grensesnitt Stringable for identifisering av enhver str Type eller data som kan konverteres til en streng (for hvilke metoden __toString() er tilgjengelig).
  • Ny funksjon str_contains(), en forenklet analog av strpos for Ă„ bestemme innholdet i en understreng, samt funksjonene str_starts_with() og str_ends_with() for Ă„ sjekke samsvar i begynnelsen og slutten av strengen.
  • Legg til funksjon fdiv(), som utfĂžrer divisjonsoperasjonen uten Ă„ gi feil ved deling med null.
  • Endret logikken for sammenknytting av strenger. For eksempel ble uttrykket ‘echo «sum: » . $a + $b’ tidligere tolket som ‘echo («sum: » . $a) + $b’, mens det i PHP 8 vil bli behandlet som ‘echo «sum: » . ($a + $b)’.
  • Strengere kontroll av aritmetiske og bitoperasjoner, for eksempel uttrykkene «[] % [42]» og «$object + 4» vil fĂžre til feil.
  • Implementert et stabilt sorteringsalgoritme, som i forskjellige kjĂžringer bevarer rekkefĂžlgen av like verdier.
  • Kilde: opennet.ru

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster