Novosti, ki jih prinaša PHP 7

Že 11 let je minilo odkar smo dobili različico 5.0, po vseh teh letih pa smo končno dočakali večjo spremembo – PHP 7.0. je tukaj!

Kaj prinaša nova 7.0 različica?

1. Izboljšana zmogljivost

Preoblikovanje jedra, ki je je predstavil phpng RFC naredi PHP 7 skoraj tako hiter kot HHVM. Večinoma aplikacij teče na PHP 5.6, te bodo na PHP 7 tekle kar 2x hitreje.
Primerjave si lahko ogledte tukaj: http://talks.php.net/oz15#/drupalbench

Screen Shot 2016-01-12 at 14.49.57

PHP 7 lahko obdela skoraj 2x več zahtev kot 5.6, kar v pomeni, da se bo zmogljivost vaše WordPress spletne strani izboljšala za 100%.

2. Opuščanje določenih elementov

V novi različici so odstranili nekatere elemente.

  1. ASP značke ( <%, <%= and %> ) in Script značke ( <script language=”php”> ) so odstranili.
    Preverite, da uporabljate <?php.
  2. EREG podaljški in vse ereg_* funkcije so opustili že v PHP 5.3, zamenjane so z PCRE podaljškom in preg_*  funkcijo
  3. MYSQL podaljšek in mysql_* funkcije so opuščene od PHP 5.5. naprej, za direktno selitev uporabite MYSQLI podaljšek in mysqli_* funkcijo.

3. Enotna spremenljiva sintaksa/skladnja

S tem bo veliko izrazov, ki so bili do sedaj neveljavni, postalo veljavnih.

4. Usodna napaka (Fatal Error) z večimi “privzetimi” določbami

S PHP 7 boste prejele sledeče:
Fatal Error: Switch statements may only contain one default clause.

5. Napake in Izjeme (exceptions)

Obstoječe “fatal” in “recovarable” napake so bile zamenjane z Izjemami (exceptions), kar nam omogoča “loviti” napake in jih temu primerno prikazati, jih logirati ali kakorkoli drugače z njimi operirati.

Razvojna ekipa je implementirala Izjeme na način, da so kompatibilne z starejšimi aplikacijami.

Možne so sicer izjeme, katere bi lahko v starejših aplikacijah še vedno povzročile Fatal Error, s čimer bi se ustavilo izvajanje skripte. To lahko rešite da uporabite Try/Catch bloke.

6. Novosti

A. Novi operatorji
SpaceShip operatorji:
$a <=> $b

null coalesce operator:

PHP5 primer:
$a = isset($b) ? $b : “privzeta vrednost”

PHP7 primer:
$a = $b ?? “privzeta vrednost”;

B. Scalar Type Hints
Z PHP7 smo končno dobili tudi opcijo da definiramo v funkcijah in metodah parametrom privzete type hinte. (integers, float,strings, booleans)

Primer:
function primer(int $vrednost)

{
return 12 * $vrednost;
}

Če bomo deklarirali funkcijo kot primer (“5”) PHP7 ne bo vrnil nobene napake, razen če imamo vklopljen strict mode.

C. Return Type Hints

Pomembna novost PHP7 je tudi da lahko funkcijam deklariramo kaj naj bi vrnile.
https://wiki.php.net/rfc/return_types

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja