PHP 8.3 entra a la versió Alpha 1 i aquests són els canvis proposats

php

PHP és un llenguatge de programació que permet el desenvolupament web o aplicacions web dinàmiques

Fa pocs dies es va donar a conèixer la notícia que va ser presentada la primera versió alfa de la nova branca del llenguatge de programació 8.3 PHP, s'han donat a conèixer les millores que es tenen planejades implementar, com ara la nova funció json_validate(), així com les addicions a la classe Randomizer agregada recentment, la detecció de desbordament de pila i més.

Per als que desconeixen de PHP (acrònim recursiu de PHP: Hypertext Preprocessor), deixeu-me dir-los que és un llenguatge de programació força popular, de codi obert, interpretat del costat del servidor i d'ús general que s'adapta especialment al desenvolupament web, ja que pot ser incrustat en HTML.

Quines són les principals innovacions que presenta PHP 8.3?

Amb el llançament d'aquesta versió de PHP 8.3 per a proves Alpha 1 de les característiques previstes per a la seva implementació es destaca per exemple la funció json_validate() per verificar ràpidament si una cadena està en format JSON sense fer operacions de descodificació, ja que anteriorment una cadena JSON constava d'un format de dades especificat i si requeria validar una cadena JSON, es requeria de la funció json_decode().

Un altre dels canvis que es destaca són les millores en el maneig d'errors, així com en la detecció de desbordament de pila amb les dues noves directives zend.max_allowed_stack_size i zend.reserved_stack_size que es van afegir al fitxer ini per definir la mida de pila màxima permesa i reservada. S'esmenta que el benefici d'aquesta funció és que les falles de segmentació induïdes per desbordament de pila ja no generaran falles de segment, cosa que facilita molt la depuració.

Sobre el funcionament, s'esmenta que el programa es bloquejarà quan s'acosti a l'esgotament de la pila, quan la pila s'ompli més que la diferència entre els valors de zend.max_allowed_stack_size i zend.reserved_stack_size (l'execució s'aturarà sense portar la situació a una falla de segmentació). Per defecte, el valor de zend.max_allowed_stack_size s'estableix en 0 (0: la mida es determina automàticament, podeu establir -1 per desactivar el límit).

A més, també es destaca que si han afegit nous mètodes a la classe Randomizer, que proporciona una API d'alt nivell per generar números i seqüències pseudoaleatòries. En aquesta actualització s'integren algunes petites addicions: getBytesFromString per generar una cadena d'una mida determinada utilitzant caràcters aleatoris presents en una altra cadena; getFloat i nextFloat per generar un número de punt flotant aleatori dins del rang especificat.

També es destaca les millores en el maneig d'excepcions de data/hora, ja que anteriorment PHP simplement es limitava a emetre una advertència o error quan alguna cosa va sortir malament en el maneig de dates i hores, però ara, s'hi va afegir la generació d'excepcions separades DateMalformedIntervalStringException, DateInvalidOperationException, DateRangeError en cas que sorgeixin problemes a les operacions de data i hora.

Dels altres canvis que es destaquen:

  • S'hi va afegir la capacitat d'extreure constants usant la sintaxi de classe dinàmica.
  • S'hi va afegir la funció getBytesFromString() es pot utilitzar generar una cadena de longitud desitjada a partir de bytes d'una cadena escollida a l'atzar
  • Maneig millorat d'errors que ocorren en analitzar dades serialitzades en la funció deserialitzar (). En cas de problemes, deserialitzar () ara tornarà E_ADVERTIMENT en lloc de E_NOTICE.
  • es va afegir getfloat() que torna un flotant entre $min y $màx
  • S'hi va afegir la funció nextfloat().
  • S'han afegit noves funcions POSIX posix_sysconf(), posix_pathconf(), posix_fpathconf() i posix_eaccess().
  • En utilitzar FFI, les funcions de C que tenen un tipus de retorn void ara tornen null en lloc de tornar FFI\CData:void
    posix_getrlimit() ara pren un paràmetre opcional $respara permetre obtenir un únic límit de recursos.
  • gc_status() té quatre nous camps: running, protected, fully buffer_size.
  • class_alias() ara admet crear un àlies d'una classe interna.
  • mysqli_poll() ara genera ValueError quan es passen els arguments de lectura o error.
  • array_pad() ara només és limitat per la quantitat màxima d'elements que pot tenir una matriu. Abans, només era possible afegir com a màxim 1048576 elements alhora.
  • noves funcions posix: posix_sysconf(), posix_pathconf(), posix_fpathconf()yposix_eaccess()
  • executar proc_get_status() diverses vegades ara sempre tornarà el valor correcte als sistemes posix.

Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls en el següent enllaç.

cal esmentar que el llançament de la versió estable de PHP 8.3 està previst per al 23 de novembre.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.