PHP 7 -julkaisu keskittyy pääasiassa aiemmissa versioissa vanhentuneiden toimintojen poistamiseen ja kielen johdonmukaisuuden parantamiseen.
Uuden version julkaisuhetkellä:
- jotkut laajennukset voidaan poistaa
- jotkin laajennukset tai toiminnot voivat vanhentua
- Jotkut muut toiminnot voivat muuttua
Termi 'Deprecation' tarkoittaa tässä sitä, että ohjelmoijille tarjotaan parempi vaihtoehto tietylle laajennukselle tai toiminnolle, jolloin sen käyttöä ei suositella ja tulevissa julkaisuissa tämä toiminto tai laajennus voidaan poistaa kokonaan.
Tämä edellyttää siirtoasiakirjan käyttöä ajankohtana päivittäminen uudempaan versioon. Tämä asiakirja voi kattaa seuraavat asiat:
- Uusia ominaisuuksia ja toimintoja
- Vanhentuneet ominaisuudet ja toiminnot
- Ominaisuuksia ja toimintoja muutettu
- Taaksepäin yhteensopimattomat muutokset
- Uudet globaalit vakiot
- Uudet luokat ja käyttöliittymät
- Muutoksia SAPI-moduuleissa
- Laajennukset ja SAPI:t poistettu
- Muut muutokset
Tässä ovat vaiheet, joita voimme noudattaa päivittäessämme PHP 7:ään sen vanhemmasta versiosta:
Ensimmäinen asia, joka on tehtävä, on poistaa poistetut laajennukset. The PHP-siirto asiakirja voi tarjota useita vaihtoehtoja näille poistetuille laajennuksille.
PHP 7:n käyttöönoton yhteydessä seuraavat laajennukset on poistettu:
- mssql
- mysql
- ereg
- sybase_ct
Toiseksi meillä on siirtoasiakirjasta tarvittavat tiedot, joiden perusteella kaikki toiminnot on muutettu. Uutta versiota esitettäessä voidaan myös tehdä joitain muutoksia, kuten:
- muutos palautustyypissä
- joidenkin parametrien poistaminen
Joten meidän on tarkistettava, onko jokin näistä muuttuneista toiminnoista käytössä PHP-verkkosivustollamme, meidän on viitattava näiden siirtoasiakirjaan ja tehtävä tarvittavat muutokset vastaavasti.
PHP 7:n tapauksessa jotkin muuttuneista toiminnoista ovat seuraavat:
- Funktiot mktime() ja gmmktime() eivät enää hyväksy is_dst-parametria.
- Funktiot substr() ja iconv_substr() palauttavat nyt tyhjän merkkijonon, jossa merkkijono vastaa alkumerkkejä.
Kolmas asia, joka on tehtävä, on yritys lopettaa vanhentuneiden toimintojen ja laajennusten käyttö, koska ne poistetaan lopulta tulevissa julkaisuissa.
PHP 7:n tapauksessa tässä on joitain vanhentuneita ominaisuuksia:
- PHP 4 -tyyliset konstruktorit – PHP 4 käytti rakentajien luomiseen samoja menetelmiä kuin luokka, jossa ne määriteltiin, mikä on vanhentunut ominaisuus ja se poistetaan tulevaisuudessa. Joten nämä menetelmän nimet on nyt korvattava __construct()
- Myös staattiset kutsut ei-staattisiin menetelmiin on vanhentunut, ja ne poistetaan tulevissa julkaisuissa
- Password_hash()-funktion suolavaihtoehto on vanhentunut, koska funktio voi luoda salausturvallisen suolan, jos kehittäjä ei tarjoa suolaa.
Seuraava eli neljäs asia, joka on tehtävä, on taaksepäin yhteensopimattomien muutosten käsittely. Uutta versiota esitettäessä on viitattava siirtoasiakirjaan "taaksepäin yhteensopimattomien muutosten" varalta.
Tässä on joitain taaksepäin yhteensopimattomia muutoksia:
- foreach ei enää muuta sisäisen taulukon osoitinta
- global hyväksyy nyt vain yksinkertaiset muuttujat
- Muuttujamuuttujia ei voi enää käyttää yleisen avainsanan kanssa.
- Heksadesimaalimerkkejä ei pidetä enää numeerisina
Esimerkiksi:
<?php
var_dump(on_numeric("0x123");
?> Yllä mainitun esimerkin tulos PHP 7:ssä on:bool(false) - Muutoksia Division By Zero
Aikaisemmin, kun 0:ta käytettiin jakajana joko divide(/)- tai modulus(%)-operaattoreille, ja E_WARNING lähetettiin ja false palautettiin. Se on nyt muuttunut jako-operaattoriksi, joka palauttaa floatin joko +INF, -INF tai NAN. Moduulioperaattori E_WARNING on poistettu ja antaa DivisionByZeroError-poikkeuksen.
Olemme yksi johtavista PHP-kehitysyritys omistaa yli vuosikymmenen kokemuksen PHP-verkkokehitysprojektien toteuttamisesta maailmanlaajuiselle asiakaskunnalleen, joka toimii eri toimialoilla. Käytämme viimeisimpiä työkaluja ja tekniikoita löytääksemme tehokkaimmat ratkaisut yrityksesi ongelmiin, tai muuten voit tutustua 'Palkkaa PHP-kehittäjä-palvelu, jossa voit arvioida kehittäjiemme teknisiä taitoja, lähestymistapaa projektiisi ja heidän aikaisempaa työtään valitaksesi alan kokeneimmasta kykyjoukosta.