Ú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).
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:
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.
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!
Egy hozzászólás a(z) “A PHP 7 bevezetése” című bejegyzéshez
WordPress-hez a jobb kódminőségű plugin: https://github.com/tollmanz/wordpress-pecl-memcached-object-cache/tree/develop