Szerző: Gálffy Csaba

2015. július 13. 14:31

Jön a PHP 7 - kemény lesz

Már elkészült a PHP 7 első bétája, ebből az alkalomból gyorsan végignéztük, hogy milyen változásokat hoz a nyelv legújabb iterációja. Érdemes kapaszkodni, komoly váltásnak ígérkezik a főverzió.

Gyorsan közeledik az új PHP-verzió októberre kitűzött kiadási határideje, az első tesztverziók után immár kipróbálható az első béta állapotú szoftver is - jelentették be a fejlesztők. Most elkészült a PHP 7.0.0 beta 1, amely az első alfa kiadáshoz képest rengeteg hibát javít, valamint funkcionalitásában is kiegészült, így (a hibáktól eltekintve) már azt tudja, mint amit a végleges kiadás tud majd.

Ez nagy váltás lesz

A PHP 7 egyik legfontosabb újdonsága az AST (Abstract Syntax Tree), amely a kódfordítás egyik köztes állapota lesz, a parser nem állítja elő közvetlenül a gépi kódot. Az AST bevezetése teljesen leválasztja a parsert és a fordítót, és kettejük közé egy új, szabványos réteget helyez. Ezzel lehetővé válik olyan képességek bevezetése, mint a tömbök destrukturálása, stb. a fejlesztők várakozásai szerint az AST használata hatékonyabb gépi kódot eredményez, miközben rengeteg inkonzisztenciát eltüntet a platform rétegei között.

Ennél sokkal láthatóbb változás lesz az Uniform Variable Syntax bevezetése. Ennek célja egy teljesen konzisztens és teljes változószintaktika bevezetése, amely kiküszöböli a többféleképp értelmezhető forráskódot, és új, korábban nem létező képességeket vezet be (például statikus lánchívások). A fejlődésnek azonban nagy ára van, az új, egységes szintaktikához a meglévő kódbázist is módosítani kell ahhoz, hogy az új szabványnak megfeleljen.

A változások által érintett szintakszis ugyan nem volt széles körben elterjedt, gyakorlatilag minden népszerű PHP-alkalmazásban van rá példa bőven, így esélytelen, hogy az eddig használt szoftverek hibátlanul működjenek az új platformon. Öröm az ürömben, hogy a kompatibilitási problémákat mutató szoftverek viszonylag egyszerűen átírhatóak lesznek az új szintaktikára - legalábbis ezt ígérik a fejlesztők.

A PHP 7-tel kikerül a nyelvből minden olyan képesség, amelyet az előző, 5.3-5.5-ös kiadásban már nem számított támogatottnak (deprecated státuszt kapott), de az előző verziókban még kompatibilitási okokból bennmaradt. Ez keményen érinti a MySQL-kiterjesztést (mysql_ kezdetű függvényeket), ezek helyett a MySQLi könyvtárat kell használni az adatbázis-művelekethez, illetve ott a PDO, az egységes adatbázis-interfész is. Szintén kikerülnek a POSIX-kompatibilis regexek, helyettük a Perl-kompatibilis regexek használatosak. Ezeket a változásokat már hosszú ideje bejelentették a fejlesztők, érkezésük senkit nem érhet igazán meglepetésként.

De mit nyújt cserébe a PHP 7?

Az új verzió mellett szóló legfontosabb érv a magas teljesítmény lesz. Az új verzió alapjául szolgáló futtatómotor is átalakul, pontosabban teljesen lecserélődik. A PHPNG (PHP Next Gen) látványos sebességnövekedést ígér, a futtatott szoftvertől függően 25-70 százalékos gyorsulásra lehet számítani. A CPU-terhelés csökkentését túl a memóriaigényt is sikerült csökkenteni a belső adatstruktúrák áttervezésével. Az optimalizálás folyamatosan zajlik, a nyílt forráskódú motoron számtalan fejlesztő dolgozik, így októberig (és nyilván az után is) még tovább gyorsulhat.

Egyszerűbb, nem?

Szoftvertesztelés: ütött az óra

A tesztelői szakmát rengeteg friss hatás éri, kifejezetten nehezített pálya ez mostanság.

Szoftvertesztelés: ütött az óra A tesztelői szakmát rengeteg friss hatás éri, kifejezetten nehezített pálya ez mostanság.

A PHP 7-tel a nyelv is kap új képességeket, a visszatérési értékek típusai kapták a legnagyobb figyelmet a fejlesztés során. Az új kiadásban ugyanis meghatározhatjuk, hogy pontosan milyen visszatérési értéket várunk, ez pedig az előzőektől eltérően skaláris (string, int, bool, float) is lehet. Emellett megjelent a strict mód is, amellyel kikényszeríthető a típusok azonossága. Egy másik ötletes újdonság a kombinált összehasonlító operátor, amely két változó értékét összehasonlítva azonnal küld választ, függetlenül annak típusától.

Visszafelé nem megy

A fentiek alapján egyértelmű, hogy a PHP 7 fontos hozadéka a visszafelé kompatibilitás megbontása lesz - ezért is találó az új főverzió. A PHP eddig sem számított a gyorsan frissítő-gyorsan fejlesztő ökoszisztémák közé, nagy kérdés, hogy a tágabb közösség hogyan fogja fogadni a PHP 7-et és mennyi időbe kerül, amíg teljesen ki tudja majd váltani a jelenlegi 5.x verziókat.

Az optimista szakértők szerint ugyanakkor a PHPNG pontosan elegendő érv lesz arra, hogy elkezdjenek frissíteni a kisebb szereplők is. A magasabb teljesítmény ugyanis azt jelenti majd a hosting-oldalon, hogy ugyanakkora erőforrással több oldal szolgálható ki, ez pedig készpénzre lefordítható előnyt jelent azoknak, akik frissítenek.

Csatlakozz partnerprogramunkhoz, mi pedig ajánlunk ügyfeleinknek, ezenkívül egyedi kedvezményeket is adunk webhosting csomagjainkra. Próbáld ki ingyenesen az Aruba Cloud-ot, most 40 ezer forint értékű vouchert adunk!

a címlapról