A PHP 7 bevezetése

A PHP 7 bevezetése


ÚJDONSÁG: Elindítottuk a PHP lényegesen gyorsabb 7-es verzióját!

[wc_box color=”info” text_align=”left”]

UPDATE 2016.03.09. – Fontos infó! Minden olyan régebbi ügyfelünknek, akiknek a cPanel-es tárhelye a hassan (IP: 212.52.180.147) nevű szerverünkön van, elérhető már a PHP 7-es verziója.
Természetesen a korábbi verziók (5.6, 5.5, 5.4, 5.3, 5.2, 5.1 és 4.4) továbbra is használhatók maradnak.

[/wc_box]

Ha csak az érdekel, hogy miként tudod a tárhelyeden beállítani a PHP7-et, akkor görgess egyből a bejegyzés végére!

Nemrég jelent meg a PHP legújabb, szupergyors 7-es számú verziója és már sikerült is elég nagy port kavarnia az internet világában. A PHP közösség (programozók, webfejlesztők és a többiek) azonnal elemezni kezdte az újdonságot különböző fórumokon, közösségi hálókon és szakmai körökben. Nekünk pedig sikerült már két nappal a hivatalos bevezetését követően élesíteni az új verziót. További érdekesség, hogy  kollégáink a hivatalos kiadáshoz egy saját modullal is hozzájárultak, amely bekerült a támogatott kiegészítések közé.

[wc_box color=”warning” text_align=”left”]

Hová tűnt a PHP 6?

A beavatottak biztosan észrevették, hogy a fejlesztők úgy döntöttek, egyszerűen átugorják a hatos verziót, amely gyakorlatilag sosem készült el. Már 2005-ben elkezdődött a PHP 6 programozása, de ez a verzió nem teljesítette az elvárásokat, így már idő előtt megbukott. A PHP-t eddig sokan kritizálták alacsony teljesítménye miatt, ezt pedig az is igazolja, hogy a Facebook fejlesztői egy HHVM elnevezésű saját virtuális hátteret hoztak létrea PHP teljesítményének növelésére. A fejlesztői közösség döntése alapján a 6-os verzió nem került kiadásra, így a 7-es változat volt a következő hivatalos verzió. A fejlesztők az új verzióban átírták az elavultnak számító Zend frameworkot PHPNG-re (PHP Next-Generation), amelyről azt állítják, hogy képes az oldalak teljesítményét akár +50%-kal is növelni.

[/wc_box]

A PHP 7 szupergyors

A PHPNG egyik fő előnye valóban a gyorsasága, mert hatékonyabban optimalizálja a memória kezelését. Továbbá egy JIT fordítót is tartalmaz, amely lehetővé teszi a kód fordítását a program futása közben. A gyorsaság növekedésését az a tény is befolyásolja, hogy számos elavult PHP funkció teljesen kiiktatásra került. A PHPNG fejlesztőcsapata az alábbi grafikonokat hozta nyilvánosságra bizonyítékként. Alegnépszerűbb CMS-ek és  PHP keretrendszerek a PHP 7 megérkezését követően jól láthatóan felgyorsultak (a magasabb érték a jobb).

snimka-obrazovky-2015-12-17-o-15.13.35 snimka-obrazovky-2015-12-17-o-15.16.11 snimka-obrazovky-2015-12-17-o-15.14.42

Hogy ne csak a külső mérésekre hagyatkozzunk, úgy döntöttünk, házon belül is végzünk egy ilyen tesztet:

request_distribution_php7-1024x444

A PHP7 átlagos visszajelzési ideje (zöld csík) kb. 15%-kal jobb, mint a PHP 5.6 Opcache-sel ellátott verziója esetében (telt kék csík). A tesztet egy majdem üres WordPress oldalon futtattuk.

Új kombinált operátorok

A PHP legújabb verziója nemcsak jobb sebességet hozott magával, hanem pár fejlesztést a programozók számára is – pl. új kombinált operátorokat.

A <=> kombinált operátor lehetővé teszi a kód egyszerűbb áttekinthetőségét:

[wc_box color=”primary” text_align=”left”]

echo 1 <=> 1; // 0

echo 1 <=> 2; // -1

echo 2 <=> 1; // 1

[/wc_box]

A ?? kombinált operátor segítségével ellenőrizhető, hogy az adott objektum már létezik-e, és ha nem, akkor:

[wc_box color=”primary” text_align=”left”]

$username = $_GET[‘user’] ?? ‘nobody’;

// This is equivalent to:

$username = isset($_GET[‘user’]) ? $_GET[‘user’] : ‘nobody’;

[/wc_box]

A “return” új fajtája

A PHP 7 esetében a programozók definiálni tudják majd a return típusát, mégpedig a scalarok segítségével (boolean, string, float, integer). Ez lehetővé teszi a kiszámíthatóbb kód fejlesztését, és megkönnyíti a hibakeresést (például az Exception engine segítségével is). A hibajelentések kezelése sosem volt könnyű, de az új verzió megkönnyíti ezt a részt is, ugyanis azonnal figyelmeztet minket, amint kritikus hibára talál, továbbá ezek kezelését is lehetővé teszi.

[wc_box color=”primary” text_align=”left”]

<?php

function sum($a, $b): float {

return $a + $b;

}

// Note that a float will be returned.

var_dump(sum(1, 2));

?>

[/wc_box]

PHP alkalmazások mostantól már Windows szervereken is

Ezdiáig a PHP alkalmazásokat csak Linux operációs rendszeren futó szervereken lehetett elindítani (ha nem vesszük figyelembe a kísérleti verziókat, amelyek sosem voltak hivatalosan támogatva). A PHP 7 bevezette a 64-bites támogatást, amely lehetővé teszi a nagy fájlokkal és 64 bites számokkal való munkát, valamint az alkalmazások Windows szerveren való futtatását is.

A csoportos deklaráció áttekinthetővé teszi a kódot

A PHP 7 bevezette a csoportos deklarációt is. Ez sok billentyűütést spórol meg, lerövidíti a kódot, és lehetővé teszi az egyes osztályok importálását a megegyező névterekből nagyon gyorsan, mégpedig egyetlen sorban.

[wc_box color=”primary” text_align=”left”]

// A PHP 7 előtt

use some\namespace\ClassA;

use some\namespace\ClassB;

use some\namespace\ClassC as C;

// PHP 7

use some\namespace\{ClassA, ClassB, ClassC as C};

[/wc_box]

A következő hasznos újdonság az anonim osztályok használata, amelyek más nyelvekből már ismerősek lehetnek – mint például a C# vagy a Java. Ezek gyakran név nélküli osztályok, amelyek átláthatóbbá teszik a kódot.

[wc_box color=”primary” text_align=”left”]

// PHP 7 előtt

class Logger

{

public function log($msg)

{

echo $msg;

}

}

$util->setLogger(new Logger());

// PHP 7

$util->setLogger(new class {

public function log($msg)

{

echo $msg;

}

});;

[/wc_box]

A PHP 7 hátrányai

Noha a közkedvelt CMS-ek (WordPress  stb.) fejlesztői mindent megtettek azért, hogy termékeik készen álljanak a PHP 7 elindulására, óriási problémát jelent a különböző témák és kiterjesztések sokasága, amelyek még nem állnak készen a PHP 7 támogatására. Amennyiben valakinek saját fejlesztésű PHP alkalmazása van, nagy valószínűséggel módosítania kell majd a forráskód egy részét. A pluszmunkába fektetett erőfeszítés viszont előbb-utóbb biztosan megtérül.

BÓNUSZ: Mi is hozzájárultunk egy kiterjesztéssel a PHP 7 hivatalos verziójához

Az oldalak cache-selése mostanában nagyon népszerű (és praktikus!). Sok kiterjesztés ezt a tartalmat a gyorsan elérhető memcached memóriába menti. Fejlesztőcsapatunk egy tagja ezért úgy döntött, hogy a pecl-memcache modult a PHP 7 számára ő maga írja meg. Ráadásul ő volt az első, akinek ez sikerült. A kiterjesztés bekerült a PHP 7 hivatalosan is támogatott kiterjesztései közé, így egy kicsit mi is hozzájárultunk, hogy a népszerű CMS-ek könnyebben elkezdhessék alkalmazni a PHP 7-et.

ÉS A LÉNYEG:

A PHP7-et pár kattintással ti is be tudjátok állítani a tárhelyeteken, ha azt 2015. július 22. után rendeltétek tőlünk.
Ha régebbi ügyfelünk vagy és cPanel-es tárhelyed van, akkor új tárhely megrendelésével és a tartalom költöztetésével tudod igénybe venni a PHP7 adta lehetőségeket.

PHP beállítás

Kattintsatok a tárhely beállítások menüben a fentiek szerint.

Bármilyen kérdéssel, kéréssel keresd bátran az ügyfélszolgálatunkat!

+ Leave a Comment