A napokban vált elérhetővé a GitHub-on egy új projekt forrása, amelynek célja nem más, mint hogy gyakorlatilag maga a PHP futtatókörnyezet egy klónját valósítsa meg kliens-környezetben. A PHP.js segítségével az eredetileg szerveroldalon futó PHP-ban írt kódok a kliens oldalon, közvetlenül a böngészőben is futtathatóvá válnak - ráadásul egy igen hatékony, virtuális gépen alapuló motor felett.

A szóban forgó PHP.js - szemben egy korábbi, hasonló nevű, de mindössze egyes PHP függvények JavaScript-ben megírt megvalósítását kínáló könyvtárral - a PHP-ben írt forráskódot közvetlenül, nyers formában olvassa be a böngészőbe, majd abból értelmezést követően egy azzal azonos működésű JavaScript kódot generál, aminek át is adja a vezérlést. A megoldás nagy előnye, hogy a kódok végrehajtása így nem generál újabb felesleges overheadet minden egyes futási menet során, hanem a böngésző által lehetővé tett teljes - gyakorlatilag az eredeti PHP-ével összemérhető - sebességgel futhat.

A PHP.js ugyanakkor nem csak magát a PHP értelmező magját, hanem számos beépített alapfüggvényét is implementálja, azaz utóbbiak is probléma nélkül hívhatók az immár szerveroldalon futó kódokból. Mindezt annyira jól teszi, hogy a PHP csapat által az eredeti értelmező tesztelésére használt 670 unit-tesztből 604-et gond nélkül lefuttat - és a maradék teszetkben is nagyrészt csak azért nem felel meg, mert azok valamilyen a kliens-oldali környezetben értelme(zhete)tlen műveletet ill. függvényt használnának.

A PHP.js támogatja a node.js alatti futást is, ami azt jelenti, hogy - kicsit fából vaskarika módon - működése akár visszahelyezhető a szerveroldalra is, ahol a közismert JavaScript-alapú alkalmazáskiszolgálón belül is lehetővé tudja tenni a PHP kódok közvetlen használatát és hívását a JS környezetből.