PHP 8.4 - stor språkoppdatering

PHP 8.4 - stor språkoppdatering

Den nye versjonen inneholder mange nye funksjoner som eiendomshooks, asymmetrisk egenskapsomfang, DOM API-oppdateringer, ytelsesforbedringer, feilrettinger og mye mer.

Store endringer

  • Eiendom kroker gi støtte for beregnede egenskaper som kan forstås av IDEer og statiske analyseverktøy, uten å måtte skrive DocBlock-kommentarer som kanskje ikke stemmer overens. De lar deg også pålitelig forhåndsbehandle eller etterbehandle verdier uten å måtte sjekke om en tilsvarende getter eller setter finnes i klassen.
  • Asymmetrisk omfang egenskapsskriving kan nå kontrolleres uavhengig av omfanget av egenskapslesninger, noe som reduserer behovet for å bruke template getter-metoder for å eksponere verdien av en egenskap uten å kunne endre den fra utenfor klassen.
  • Nytt attributt #[Utviklet] utvider den eksisterende enhetsavskrivningsmekanismen for brukerdefinerte funksjoner, metoder og klassekonstanter.
  • Ny DOM API, som støtter standardkompatibel parsing av HTML5-dokumenter, fikser flere langvarige feil i DOM-oppførsel, og legger til flere funksjoner for å gjøre arbeidet med dokumenter mer praktisk. DOM API er tilgjengelig i Dom-navneområdet. Dokumenter som bruker den nye DOM APIen kan opprettes ved hjelp av klassene DomHTMLDocument og DomXMLDocument.
  • Nytt objekt BcMathNumber lar deg bruke en objektorientert stil og standard matematiske operatorer når du arbeider med vilkårlige presisjonstall. Disse objektene er uforanderlige og implementerer Stringable-grensesnittet, slik at de kan brukes i strengkontekster, for eksempel echo $num.
  • Funksjoner lagt til array_find(), array_find_key(), array_any() og array_all().
  • Lagt til barneklasser PdoDblib, PdoFirebird, PdoMySql, PdoOdbc, PdoPgsql, PdoSqlite-drivere som arver PUD.
  • Egenskaper og metoder for et nylig initialisert objekt kan nå nås uten å sette det nye uttrykket i parentes. Eksempel: ny MyClass()->metode() uten parentes.
  • Nye klasser, grensesnitt og funksjoner og mye mer...

Kilde: linux.org.ru

Legg til en kommentar