PHP 8.5 introduce operatorul pipe, extensia URI, precum și funcțiile array_first() și array_last(), facilitând programarea de zi cu zi. Această versiune îmbunătățește lizibilitatea codului, gestionarea adreselor URL și depanarea, oferind în același timp optimizări de performanță și eliminarea unor funcții inutile. Cu aceste modificări, puteți scrie cod mai simplu și mai rapid pentru site-urile dvs. web.
Cuprins
Funcții noi și îmbunătățiri
Operatorul pipe |>
Operatorul pipe |>, mult așteptat de dezvoltatorii PHP, permite lanțuri de apeluri de funcții de la stânga la dreapta fără variabile intermediare. În loc de apeluri imbricate precum strtolower(str_replace(‘ ‘, ‘-‘, trim($title))), puteți scrie pur și simplu $title |> trim($$) |> str_replace(‘ ‘, ‘-‘, $$) |> strtolower($$). Acest lucru face codul mai ușor de citit și de întreținut, în special pentru operațiuni complexe cu date.
Extensia URI
PHP 8.5 introduce o extensie URI încorporată pentru analizarea și normalizarea adreselor URL în conformitate cu standardele RFC 3986 și WHATWG privind adresele URL. Acum puteți gestiona în siguranță linkurile fără biblioteci suplimentare; de exemplu, puteți folosi clasa Uri\Rfc3986\Uri pentru a extrage numele de gazdă din ‘https://php.net’. Acest lucru simplifică considerabil lucrul cu adresele URL în aplicațiile web și reduce riscul de erori.
Funcțiile array_first() și array_last()
Noile funcții array_first() și array_last() vă permit să recuperați rapid primul sau ultimul element al unui array, returnând valoarea null dacă array-ul este gol. În loc să combinați array_key_last() sau end(), folosiți pur și simplu array_last($events). Aceste adăugiri simple economisesc timp și organizează codul atunci când lucrați cu liste de date.
Atributul #[\\NoDiscard]
Atributul #[\\NoDiscard] generează un avertisment atunci când ignorați valoarea returnată de o funcție, ajutând la evitarea erorilor de API. De exemplu, o funcție getPhpVersion() cu acest atribut va declanșa un avertisment dacă nu utilizați rezultatul acesteia, cu excepția cazului în care utilizați în mod explicit (void)getPhpVersion(). Acest instrument îmbunătățește calitatea și securitatea codului.
Clonarea cu modificarea proprietăților
Acum puteți clona un obiect și modifica imediat proprietățile selectate, trecând un array asociativ la funcția clone(), de exemplu clone($this, [‘alpha’ => $alpha]). Această soluție este perfectă pentru clasele de tip readonly și simplifică modelul “with-er” fără a mai fi necesară copierea manuală a datelor. Anterior, era necesară o logică suplimentară în metode precum withAlpha().
get_error_handler() și get_exception_handler()
Funcțiile get_error_handler() și get_exception_handler() permit verificarea handler-urilor curente de erori și excepții în timpul execuției programului. Acestea facilitează depanarea și înțelegerea comportamentului aplicației. De asemenea, suportă urmărirea stivei pentru erori fatale, accelerând rezolvarea problemelor.
Alte adăugiri utile
PHP 8.5 adaugă constantele PHP_BUILD_DATE și PHP_BUILD_PROVIDER pentru verificarea datei de compilare, opțiunea CLI php –ini=diff pentru a afișa modificările din fișierul INI, precum și funcția locale_is_right_to_left() pentru limbile scrise de la dreapta la stânga, cum ar fi araba. Funcția curl_multi_get_handles() ajută la gestionarea sesiunilor cURL, iar identificatorii cURL persistenți accelerează inițializarea.
Funcții învechite și remedieri
PHP 8.5 încetează suportul pentru conversiile vechi precum (boolean) sau (integer) – folosiți în schimb (bool) și (int). Funcții precum curl_close(), xml_parser_free() și socket_set_timeout() sunt deprecate ca fiind inutile. Directiva INI disable_classes a fost eliminată, iar instrucțiunile switch case necesită acum o două puncte. Aceste modificări simplifică limbajul și pregătesc terenul pentru versiunile viitoare.