Verkkosivustohaku

PHP 8.5 esittelee URI-laajennuksen, putkioperaattorin ja syntaksin parannuksia


PHP 8.5 tuo uuden URI-laajennuksen, putkioperaattorin ja keskeisiä syntaksipäivityksiä, tarjoten nopeamman suorituskyvyn ja siistimmän koodin.

PHP, palvelinpuolen ohjelmointikieli, jota käytetään pääasiassa dynaamisten verkkosivustojen ja verkkosovellusten rakentamiseen, on juuri julkaissut version 8.5, merkittävän päivityksen, joka tuo uuden syntaksin, laajemman attribuuttituen, suorituskyvyn parannuksia ja useita RFC-pohjaisia ominaisuuksia.

Yksi merkittävimmistä lisäyksistä on uusi sisäänrakennettu URI-laajennus. Se tarjoaa yhtenäisen API:n URL-osoitteiden analysointiin ja muokkaamiseen noudattaen sekä RFC 3986- että WHATWG URL -standardeja. Uriparserin ja Lexborin tukemana se korvaa parse_url()-funktion tilanteissa, joissa tarvitaan tarkkaa ja standardien mukaista käsittelyä.

Tämän version toinen merkittävä kohokohta on putkioperaattorin (|>) käyttöönotto, joka mahdollistaa funktioiden ketjuttamisen vasemmalta oikealle. Tämä poistaa syvälle upotetut funktiokutsut, mikä tekee muunnosputkista helpommin luettavia ja ylläpidettäviä. Arvot kulkevat suoraan kutsuttavien objektien, mukaan lukien nuolifunktiot ja osittaiset sovellukset, kuten trim(...), läpi.

PHP 8.5 parantaa myös objektien käsittelyä clone-with-syntaksilla. Kehittäjät voivat nyt päivittää valittuja ominaisuuksia kloonatessaan objektia komennolla clone($obj, ['prop' => value]), mikä yksinkertaistaa "with-er"-mallia ja tekee siitä käytettävän readonly-luokissa ilman turhaa koodia.

Toinen lisäys on #[\NoDiscard]-attribuutti, joka antaa varoituksen, kun funktion palautusarvo jätetään huomaamatta. Tämä auttaa havaitsemaan virheitä käyttöliittymissä, joissa palautettu arvo on välttämätön oikean toiminnan kannalta, ja (void) on saatavilla, kun kehittäjä nimenomaisesti päättää jättää arvon huomiotta.

Kieli laajentaa myös tuen käännösaikaisille lausekkeille. Staattiset sulkeet ja ensiluokkaiset kutsuttavat ovat nyt sallittuja vakio-lausekkeissa, mikä tekee niistä käytettävissä attribuuttien argumenteissa, oletusominaisuuksien arvoissa ja luokan vakioissa.

Suorituskykyyn liittyviä parannuksia ovat pysyvät cURL-jako-osoittimet. Funktion curl_share_init_persistent() avulla jako-osoittimet säilyvät pyyntöjen välillä ja käyttävät aiemmin alustettuja yhteystietoja uudelleen, mikä vähentää toistuvien verkkotoimintojen kuormitusta pitkään käynnissä olevissa sovelluksissa.

Kaksi uutta apufunktiota, array_first() ja array_last(), tarjoavat selkeämmän tavan käsitellä yleisiä tapauksia. Molemmat palauttavat null tyhjille taulukoille, mikä yksinkertaistaa käyttöä null-yhdistysoperaattorin kanssa ja poistaa tarpeen tarkistaa avaimet manuaalisesti.

Lisämuutokset kattavat laajan joukon kieliominaisuuksia. Vakavat virheet sisältävät nyt jäljitystiedot, attribuutit voivat kohdistua vakioihin ja staattiset ominaisuudet tukevat epäsymmetristä näkyvyyttä.

Ominaisuudet voidaan merkitä final-avainsanalla konstruktorin ominaisuuksien edistämisen kautta. Lisäksi PHP lisää uusia DOM-menetelmiä, kuten getElementsByClassName() ja insertAdjacentHTML(), sekä uusia apufunktioita kuten grapheme_levenshtein().

Lopuksi PHP 8.5:n vanhentumiset sisältävät ei-kanaonisten tyypinmuunnosten nimien poiston, backtick-operaattorin vanhentamisen alias-versiona shell_exec():lle, varoitukset virheellisistä liukuluku-kokoonmuunnoksista ja rajoitukset null-arvon käyttämiselle taulukon indeksinä. Vanhemmat __sleep() ja __wakeup() sarjallistamismetodit ovat nyt pehmeästi vanhentuneita __serialize() ja __unserialize()-metodien hyväksi.

Lisätietoja kaikista PHP 8.5:n muutoksista saat virallisesta julkistusilmoituksesta tai tältä sivulta.