PHP 8.0

PHP 8.0

PHP 8PHP, su linguàgiu de programatzioni web prus famau est lòmpiu a sa versioni 8.0 a cincu annus de sa 7.0 e apustis de àteras cuàturu versionis intermèdias chi ant introdùsiu càmbius de importu.
Abellu abellu, PHP est passau de linguàgiu legixeddu ma còmudu po fai situs e aplicatzionis Web a trastu prus sèriu, orientau a is ogetus, seguru e lestu. Cun custa versioni noa s'arricat de funtzionis e piessìnnius chi de una parti dd'acostant a linguàgius prus traditzionalis e de un'àtera ndi faint unu trastu modernu meda. Andaus a biri cali funt is novidadis prus de importu.

Argumentus cun nòminis

Permitit de tzerriai una funtzioni passendi su nòmini de is argumentus impari cun is valoris. Custu agiudat meda si una funtzioni tenit paràmetrus medas cun valori pre-definiu.

# 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-datus

Mancai a mei custa manera de traballai no praxat, librerias medas impreant is cumentus PHPDoc po creai "annotus" chi mudant su cumportamentu de is aplicatzionis nostas. In PHP 8 custu podit essi fatu impreendi 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) { /* ... */ }

Unionis

Est possìbili decrarai una variàbili comenti unioni a manera nativa.

public int|float $num;

Match

echo match (8.0) {
  '8.0' => "Oh no!",
  8.0 => "This is what I expected",
};

Asimbillat a su switch, ma est prus còmudu candu s'arresurtau est de una lìnia sceti.

Operadori a proa de null

In una cadena che custa

$country = $session?->user?->getAddress()?->country;

si unu de is elementus torrat null, s'arresurtau finali est null chena bisòngiu de agiungi controllus po donniunu.

Amellorau su cunfrontus cun is stringas

Unu càmbiu agradèssiu meda.

0 == 'foobar'

torrat false e no true comenti is versionis bècias.

Ogetus WeakMap

Est una classi de ogetus chi no tenit amparu de su collidori de àliga (garbage collector) po is propiedadis suas. Custu bolit nai chi podint essi burradas in dònnia momentu chena possibilidadi de previsioni. Ogetus de custa genia podint serbiri po creai una cache o po calisisiat datu temporàneu.

Cumpilatzioni a tempus de esecutzioni

Comenti scieus, PHP est unu linguàgiu interpretau. Bolit nai chi dònnia istrutzioni depit essi carrigada e esecutada de un'intèrpriti. Cun sa cumpilatzioni a tempus de esecutzioni (Just-in-time), su còdixi est cumpilau in su momentu de s'esecutzioni e esecutau a manera dereta de sa màchina o, càncua borta, de una màchina virtuali. Custu permitit un'esecutzioni prus lesta. Microsoft .NET funtzionat a manera sìmbili.

Po sa lista cumpleta e acrarada de is càmbius bì:

Cumenta

Categorias