PHP 8.0
PHP, su limbàgiu de programmatzione web prus famadu est lòmpidu a sa versione 8.0 a chimbe annos dae sa 7.0 e a pustis de àteras bator versiones intermèdias chi ant introdùidu càmbios de importu.
A bellu a bellu, PHP est passadu dae limbàgiu legigheddu ma còmodu pro fàghere sitos e aplicatziones Web a trastu prus sèriu, orientadu a is ogetos, seguru e lestru. Cun custa versione noa s'arricat de funtziones e piessìnnios chi dae una parte dd'acostant a limbàgios prus traditzionales e dae un'àtera nde faghent unu trastu modernu meda. Andamus a bìdere cales sunt is novidades prus de importu.
Argumentos cun nùmenes
Permitit de tzerriare una funtzione passende su nùmene de is argumentos in pari cun is valores. Custu agiudat meda si una funtzione tenet paràmetros medas cun valore pre-definidu.
# funtzioni
function saFuntzioni(int arg1, int arg2 = 1, arg3 = 10) { /* ... */ }
# tzerriada in php 7
saFuntzioni(2, 1, 60);
# tzerriada in php 7
saFuntzioni(2, arg3: 60);
Meta-datos
Mancari a mene custa manera de traballare no praghiat, librerias medas impreant is cummentos PHPDoc pro creare "annotos" chi mudant su cumportamentu de is aplicatziones nostras. In PHP 8 custu podet èssere fatu impreende una sintassi nativa.
#PHP 7
/**
* @Route("/api/posts/{id}", methods={"GET"})
*/
public function get($id) { /* ... */ }
#PHP 8
#[Route("/api/posts/{id}", methods: ["GET"])]
public function get($id) { /* ... */ }
Uniones
Est possìbile decrarare una variàbile comente unione a manera nativa.
public int|float $num;
Match
echo match (8.0) {
'8.0' => "Oh no!",
8.0 => "This is what I expected",
};
Asimìgiat a su switch, ma est prus còmudu candu s'arresurtadu est de una lìnia sceti.
Operadorea proa de null
In una cadena che custa
$country = $session?->user?->getAddress()?->country;
si unu de is elementos torrat null, su resurtadu finale est null sena bisòngiu de agiùnghere controllos pro onniunu.
Amelloradu su cunfrontos cun is istringas
Unu càmbiu agradèssidu meda.
0 == 'foobar'
torrat false e no true comente is versiones betzas.
Ogetos WeakMap
Est una classe de ogetos chi no tenet amparu de su collidore de àliga (garbage collector) pro is propiedades suas. Custu bolet nàrrere chi podent èssere burradas in ònnia momentu sena possibilidade de previsione. Ogetos de custa genia podent serbire pro creare una cache o pro cale si siat datu temporàneu.
Cumpilatzione a tempus de esecutzione
Comente ischimus, PHP est unu limbàgiu interpretadu. Bolet nàrrere chi ònnia istrutzione depet èssere carrigada e esecutada de un'intèrprete. Cun sa cumpilatzione a tempus de esecutzione (Just-in-time), su còdighe est cumpiladu in su momentu de s'esecutzione e esecutadu a manera dereta dae sa màchina o, carchi borta, dae una màchina virtuale. Custu permitit un'esecutzione prus lestra. Microsoft .NET funtzionat a manera sìmbile.
Po sa lista cumpleta e acrarada de is càmbios bide:
Cummenta