fbpx

Noutăți în PHP 8.0 – caracteristici și actualizări


PHP 8.0 este o actualizare majoră a limbajului PHP. Conține multe funcții și optimizări noi, inclusiv argumente denumite, tipuri de uniuni, atribute, promovarea proprietății constructorului, expresie de potrivire, operator nullsafe, JIT și îmbunătățiri ale sistemului de tip, gestionarea erorilor și consistența. Deși nu este cea mai mare actualizare de departe, există câteva modificări destul de interesante în PHP 8.

Care sunt îmbunătățirile și caracteristicile versiunii noi de PHP?

1.Executarea mai rapidă a codului

Cea mai recentă versiune PHP aduce o mulțime de lucruri noi, dar cea mai apreciată caracteristică e compilatorul JIT(just in time). Compilatorul JIT se interpune între compilare și interpretare. Acesta va compila și memora în cache unele secțiuni de cod în timpul rulării, astfel încât versiunea compilată să poată fi utilizată în locul versiunii interpretate. Acest lucru ar putea duce la câștiguri uriașe de performanță pentru PHP, dar cu unele avertismente. În general, compilatoarele JIT beneficiază în cea mai mare parte de aplicațiile care utilizează intensivitatea procesorului, precum redarea 3D sau calculele matematice mari. Când se execută codul PHP, se face de obicei prin compilarea și executarea într-o mașină virtuală. JIT va schimba acest lucru prin compilarea codului în codul mașinii x86 și apoi rularea codului direct pe CPU.

Pentru aplicațiile care se bazează foarte mult pe funcții matematice, acest lucru ar trebui să îmbunătățească performanța. Compilatorul „just in time” promite îmbunătățiri ale vitezei pentru sarcini și algoritmi complexi și deschide noi oportunități pentru limbajul PHP de a-și lărgi acoperirea și aplicațiile.

Unii dintre voi s-ar putea să vă întrebați ce legătură are JIT cu Opcache, care a adus câștiguri semnificative de performanță pe multe site-uri web? Sarcina principală a Opcache este de a tăia procesele de tokenizare, analiză și compilare a codurilor Opc, care apoi sunt procesate de motorul Zend. Rolul JIT este de a economisi la executarea codurilor de opțiune de către motorul Zend, astfel încât acesta își unește forțele și intervine pentru a economisi resurse acolo unde Opcache nu poate ajuta.

2.str_contains function

Noua funcție str_contains poate fi utilizată pentru a verifica dacă un string dat conține un alt string.

str_contains ( string $haystack , string $needle ) : bool

Exemplu:

str_contains(“PHP is cool!”, “PHP”); // true

str_contains(“PHP is cool!”, “php”); // false

str_contains(“PHP is cool!”, “not”); // false

3.Una dintre diferențele majore pe care le veți observa, este că multe dintre avertismentele și notificările care nu au fost capturabile, sunt acum excepții sau erori, care pot fi surprinse și înregistrate. Este posibil ca din cauza acestei modificări să apară acum o mulțime de probleme care au rămas ascunse cu versiunile anterioare de PHP. Aceasta este o mare îmbunătățire, deoarece va permite dezvoltatorilor să identifice mai ușor eventualele probleme. Cu toate acestea, rețineți că poate fi o idee bună să setați display_errors = Off dacă decideți să utilizați PHP 8 pe un site live pentru a nu afișa astfel de erori vizitatorilor site-ului dvs.

4.Codare mai scurtă – Unele dintre noile elemente, cum ar fi operatorul nullsafe, îmbunătățește foarte mult lizibilitatea codului, făcându-l mai scurt și mai simplu. În loc să înghesuiți mai multe „if`s” puteți folosi operatorul „nul” pentru a le scrie pe toate într-o singură linie de cod.

5.Trendul “type“ – Odată cu ultimele versiuni, PHP a încercat să definească argumentele pe care fiecare metodă le-ar putea adopta și deveni mai mult un limbaj tipizat. În această ultimă versiune, există o caracteristică numită „union types” care vă permite să definiți 2 tipuri de valori pentru fiecare funcție, care este o continuare naturală a acestei tendințe. După cum arată exemplul de mai jos, funcția poate returna un număr întreg sau un float:

public function getNumber(): int|float {

return $this->number;

}

6.Funcții noi

PHP 8 vine cu mai multe funcții noi.

str_starts_with and str_ends_with – Verifică dacă un string începe sau se termină cu o anumită linie.

str_contains – Utilizare similară, dar verifică un string întreg.

fdiv – Permite divizarea care reacționează în mod constant atunci când se împarte la zero.

get_resource_id – Acum este ușor să obțineți ID-ul unei resurse, cum ar fi o conexiune la bază de date.

get_debug_type – Acționează foarte asemănător gettype, dar returnează mai multe informații, cum ar fi numele clasei.

preg_last_error_msg – Când lucrați cu funcții PHP vechi care necesită verificarea manuală a erorilor, acesta returnează un mesaj de eroare care poate fi citit de om.

În PHP 8.0 există mai multe modificări subtile care ar putea să nu fie evidente la început, dar care pot duce la rezultate destul de neașteptate.

PHP 8.0 este o actualizare majoră a PHP și WordPress își propune să fie întotdeauna compatibil cu noile versiuni de PHP. Doar un mic procent din pluginurile disponibile, cele mai populare și cele mai dezvoltate profesional, au teste automate.

Toți clienții noștri pot schimba versiunea PHP a site-urilor lor din panoul lor de control sau cPanel> PHP versions. Versiunea PHP 8.0 este acum disponibilă pe serverele noastre.

PHP 8 oferă o îmbunătățire semnificativă față de versiunile anterioare, iar comunitatea este interesată de potențialul caracteristicilor introduse în noua versiune. Sperăm că veți testa versiunea și veți lua în considerare portarea aplicațiilor existente și utilizarea noii versiuni pentru proiectele viitoare.


Lasa un mesaj