Prije nekoliko dana objavljena je vijest da je prva alfa verzija nova grana programskog jezika PHP 8.3 Otkrivena su planirana poboljšanja, kao što je nova funkcija json_validate(), kao i dodaci nedavno dodanoj klasi Randomizer, detekcija prekoračenja steka i još mnogo toga.
Za one od vas koji nisu svjesni PHP (PHP rekurzivna skraćenica: Hypertext Preprocessor), dozvolite mi da vam kažem da je to prilično popularan programski jezik otvorenog koda, interpretiran na strani servera i programski jezik opšte namjene koji je posebno pogodan za web razvoj , jer se može ugraditi u HTML.
Koje su glavne inovacije koje PHP 8.3 uvodi?
Izlaskom ove verzije od PHP 8.3 za Alpha 1 testiranje Među značajkama planiranim za njegovu implementaciju, na primjer, json_validate() funkcija za brzu provjeru da li je string u JSON formatu bez izvođenja operacija dekodiranja, budući da se ranije JSON niz sastojao od specificiranog formata podataka i ako je zahtijevao validaciju JSON niza, funkcija je bila potrebna json_decode().
Još jedna od promjena koja se ističe su poboljšanja u rukovanju greškama, kao iu detekciji prekoračenja steka sa dvojicom nove direktive zend.max_allowed_stack_size i zend.reserved_stack_size koji su dodani ini datoteci kako bi se definirala maksimalna dozvoljena i rezervirana veličina hrpe. Spomenuto je da je prednost ove karakteristike to što greške segmentacije izazvane prelivanjem steka više neće generisati greške segmentacije, što čini otklanjanje grešaka mnogo lakšim.
O operaciji se spominje da će se program rušiti kada se približi iscrpljenju steka, kada se stek popuni više od razlike između vrijednosti zend.max_allowed_stack_size i zend.reserved_stack_size (Izvršenje će se zaustaviti bez dovođenja situacije do greške segmentacije.) Podrazumevano, vrijednost od zend.max_allowed_stack_size je postavljeno na 0 (0: veličina se određuje automatski, možete postaviti -1 da onemogućite ograničenje).
Pored ovoga, ističe se i toNove metode su dodate klasi Randomizatora, koji obezbeđuje API visokog nivoa za generisanje pseudoslučajnih brojeva i sekvenci. u ovom ažuriranju Neki mali dodaci su integrisani: getBytesFromString za generiranje niza određene veličine korištenje nasumičnih znakova prisutnih u drugom nizu; getFloat i nextFloat za generiranje slučajnog broja s pomičnim zarezom unutar navedenog raspona.
Takođe naglašava poboljšanja obrade izuzetaka datuma/vremena, budući da je ranije PHP bio ograničen samo na izdavanje upozorenja ili greške kada je nešto pošlo po zlu u rukovanju datumima i vremenom, ali sada, dodano zasebno generiranje izuzetaka DateMalformedIntervalStringException, DateInvalidOperationException, DateRangeError u slučaju da postoje problemi u operacijama datuma i vremena.
Od ostalih promjena koji se ističu:
- Dodata mogućnost izdvajanja konstanti koristeći sintaksu dinamičke klase.
- funkcija je dodana getBytesFromString() može se koristiti za generiranje niza željene dužine iz bajtova slučajno odabranog niza
- Poboljšano rukovanje greškama koje se javljaju prilikom raščlanjivanja serijalizovanih podataka u funkciji unserialize(). U slučaju problema, unserialize() će se sada vratiti E_UPOZORENJE umesto E_NOTICE.
- Dodano je getfloat() koji vraća float između $min y $max
- funkcija je dodana nextfloat().
- Dodane nove POSIX funkcije posix_sysconf(), posix_pathconf(), posix_fpathconf() i posix_eaccess().
- Kada koristite FFI, C funkcije koje imaju void tip vraćanja sada vraćaju null umjesto vraćanja FFI\CData:void
posix_getrlimit() sada uzima opcioni parametar $res da bi omogućio dobijanje ograničenja jednog resursa. - gc_status() ima četiri nova polja: pokrenut, zaštićen, puna veličina_spremnika.
- class_alias() sada podržava kreiranje aliasa unutrašnje klase.
- mysqli_poll() sada podiže ValueError kada se prosljeđuju argumenti čitanja ili greške.
- array_pad() sada ste ograničeni samo maksimalnim brojem elemenata koji niz može imati. Ranije je bilo moguće dodati najviše 1048576 stavki odjednom.
- Nove funkcije posix: posix_sysconf(), posix_pathconf(), posix_fpathconf() i posix_eaccess()
- Bježi proc_get_status() više puta će sada uvijek vratiti tačnu vrijednost na posix sistemima.
Konačno ako ste zainteresirani da saznate više o tome, možete provjeriti detalje Na sledećem linku.
Vrijedi napomenuti da je izdavanje stabilne verzije PHP 8.3 zakazano za 23. novembar.