2015. december 10., csütörtök

Végre itt a PHP 7!

Megjelent a PHP 7 stabil verziója! A majdnem 2 éve húzódó fejlesztés nemrég eljutott abba a fázisba, hogy ez év dec 3-án elérhetővé tehették ennek a verziónak az elérését is.

Első megközelítésben a következő két tulajdonságát emelném ki: 2-szer gyorsabb a szkriptek lefutása, mint az 5.6 verzió esetében, valamint a memória használata is radikálisan lecsökkent. Egyébként ez a verzió most már 100%-ban ki tudja használni a 64-bites rendszerek előnyeit.

Persze, az okoskodók most kötekedhetnek egy kicsit, hogy hogyhogy kimaradt a 6-os verzió!? Nos, annyit tudok csak róla, hogy fejlesztése közben belegabalyodtak a korábbi unicode problémák megoldásába. S eközben egyre több hibát halmoztak fel. Végül úgy látták, hogy túl sok sérülést, gyenge pontot tartalmaz ahhoz, hogy továbbra is életben tartsák, s inkább átléptek rajta...

Nos, ha most méltán kiujjongtuk magunkat, akkor nézzük a fekete levest! A PHP 7 felrúgja a visszafelé kompatibilitás elvét. Pl. biztosan sokan használják még a mysql_query (és "társai") függvényeket. Nos, ezeket már többé nem lehet használni. Helyettük vagy a mysqli objektum vagy pedig a PDO mysql interfész metódusait kell majd használnunk.

A fejlesztői környezetek közül a PHP Storm már tartalmazza is a PHP 7 verziót. A kevésbé profi, de talán népszerűbb XAMPP legfrissebb verziója azonban még nem. (Érdekes, hogy ezzel kapcsolatban az XAMPP oldalon azt javasolják, hogy amíg nincs, addig próbálkozzunk a Bitnami WAMP for PHP 7.0 -val)

2015. december 9., szerda

Hogyan futtassak PHP programot a Blogger-on?

Bizonyára sokakban felmerült már az igény, hogy kedves kis blogjában lefuttasson egy-két PHP scriptet. S gondolom, csalódottan tapasztalta, hogy közvetlenül a bejegyzésekbe nem lehet PHP scripteket írni.

Nos, mindenre van megoldás!


Először is, mit kell tudni az ilyen célra használt PHP kódokról?


  1. A PHP kódokat egy máshol tárolt fájlba kell beleírnunk!
    A fájlt tegyük egy olyan domain-re, amelyiken a PHP futtatható, és ami elérhető az Internetről! (Nem szükséges biztosítani https elérést.)
      
  2. Fontos, hogy az alábbi header() utasítás szerepeljen benne!

header("Access-Control-Allow-Origin: domain-ahonnan-hívom");

Ha azt szeretnénk, hogy a kérdéses PHP programunk csak akkor adjon normális végeredményt, ha a blogspot (Blogger) valamelyik nyelvi mutációjáról hívják meg, akkor a fenti egysoros utasítást bővítsük ki az alábbi módon:

if(preg_match("/\.blogspot\.[^\.]{2,8}$/", $_SERVER['HTTP_ORIGIN'])) {
  header("Access-Control-Allow-Origin: ".$_SERVER['HTTP_ORIGIN']);
}



Na, és hogyan illesszük be a PHP kimenetét a Blogger bejegyzésbe?



A beillesztést (meghívást) jQuery.ajax()-szal végezzük el!
Például a bejegyzésbe beillesztünk egy div-et, adunk neki egy id-t, s az ajax()-szal meghívott PHP kimenetét beolvastatjuk ebbe a div-be.
Íme egy egyszerű példa:

<script type="text/javascript">
 $.ajax({
    url: "http://a-te-domained/a-te-PHP-fájlod.php",
    crossDomain: true
 }).done(function(data) {
    $('#mydiv').html(data);
 });
</script>
<div id="mydiv"></div>


Ha POST metódussal szeretnéd meghívni a PHP fájlodat, s még adatokat is szeretnél átadni neki, akkor egészítsd ki az ajax() hívást a 'method' és a 'data' beállításokkal. Pl. így:

<script type="text/javascript">
 $.ajax({
    url: "http://a-te-domained/a-te-PHP-fájlod.php",
    crossDomain: true,
    method: "POST",
    data: { param1: "a-param1-értéke", param2: "a-param2-értéke" }
 }).done(function(data) {
    $('#mydiv').html(data);
 });
</script>

És ennyi! Jó programozást! :)

2015. február 14., szombat

PHP 7

Hm, ez valami nagyon új! Úgy hallom, nem is lesz túlságosan kompatibilis a korábbi verziókkal. Viszont sokkal gyorsabb lesz, mint az eddigi verziók. Úgy érzem azonban, hogy még sok víznek kell lefolynia a Dunán, mire végre áttérhetünk majd a PHP 7-re. Na, de vegyük komolyabbra a szót!

A PHP 7 -ben érkező újdonságok, újítások halmaza még nincs teljesen definiálva.

phpng

A phpng a PHP Next Generation rövidítése. Ez egy új projekt, aminek keretében azon dolgoznak, hogy hogyan lehetne felgyorsítani a PHP kódok fordítási sebességét. Mivel ez a munka még folyamatban van, ezért csak találgatni lehet arról, hogy vajon a PHP programnyelve milyen mértékben fog változni - ha egyáltalán változni fog. Mint olvasni lehet róla, a gyorsítást a JIT engine bevezetésével szeretnék elérni.

AST

Egy másik terv szerint érdemes lenne bevezetni az AST (Abstract Syntax Tree) használatát, ami egyfajta közvetítő szerepet töltene be a PHP fordítási folyamatában (compiling process). Ezzel érhető majd el a PHP sokkal gyorsabb működése.

Aszinkron programozás - Event loop

Szükség mutatkozik egy egyfajta "esemény-ciklus" bevezetésre. Ez a ciklus, ami PHP kódokkal lesz elérhető, azt a célt szolgálja majd, hogy az I/O és egyéb aszinkron műveleteket könnyebben érhessük el, és ami a legfontosabb, lehetővé tegye ezek egyidejű, párhuzamos futását.

Epilógus

És mikor lesz mindez elérhető? Nos, az optimisták szerint 1 év, a pesszimisták szerint még 3 év szükséges ehhez. Ezek szerint talán 2 év múlva! :)

Az írás apropója és alapja Manuel Lemos cikke volt.