Abo
  • Services:

PHP.js: PHP-Code im Browser ausführen

Der Webentwickler von Hertzen hat PHP in Javascript nachgebaut, so dass PHP-Code direkt im Browser oder unter Node.js ausgeführt werden kann.

Artikel veröffentlicht am ,
PHP-Code im Browser ausführen
PHP-Code im Browser ausführen (Bild: Niklas von Hertzen)

Bei php.js handelt es sich um eine in Javascript implementierte PHP VM. Die Bibliothek liest PHP-Code ein und wandelt ihn in Javascript um, der dann von der zugehörigen PHP VM ausgeführt wird.

Stellenmarkt
  1. M-net Telekommunikations GmbH, München
  2. McService GmbH, München

Im ersten Schritt wird der PHP-Code in Tokens zerlegt (Tokenizing) und dann im zweiten Schritt in einen Abstrakten Syntaxbaum (AST) verwandelt. Ist die Erzeugung des Syntaxbaums abgeschlossen, wird daraus Javascript-Code erzeugt, der von Niklas von Hertzens PHP VM ausgeführt werden kann. Jeder zusätzliche Code, der innerhalb der VM über eval() oder Lambda-Funktionen ausgeführt wird, durchläuft davor denselben Prozess.

Standardmäßig wird der Code synchron ausgeführt, die Ausgabe ist also sofort lesbar, wenn die Ausführung abgeschlossen ist. Alternativ kann die VM aber auch so eingestellt werden, dass sie in einem Webworker ausgeführt wird, dem dann eine Callbackfunktion übergeben werden muss.

Der auf diesem Weg erzeugte Javascript-Code kann direkt im Browser oder in Node.js ausgeführt werden. Von Hertzen rät aus Sicherheitsgründen aber ausdrücklich davon ab, php.js auf öffentlichen Produktivsystemen einzusetzen. Er sei der erste, so Hertzen, der einräume, dass in php.js noch viele Fehler steckten. Für ihn sei php.js ein spannendes Projekt mit interessanten Herausforderungen. Einen praktischen Nutzen darin sehe er nicht.

Bei der Entwicklung hat von Hertzen einen testgetrieben Ansatz gewählt und sich primär darauf konzentriert, die vom PHP-Team selbst genutzten Unit-Tests einzuhalten. Derzeit besteht php.js 604 von 670 Unit-Tests. Funktionen, für die kein Unit-Test existiert, funktionieren vermutlich nicht, so der Entwickler. Zudem hat er nur einen kleinen Teil der über Module zur Verfügung gestellten Funktionen implementiert.

Php.js ist nicht das erste Projekt, mit dem der Accenture-Mitarbeiter Niklas von Hertzen auf sich aufmerksam macht. Er hat mit html2canvas bereits ein Script geschrieben, mit dem ein Browser Abbilder einer Website erstellen kann und mit WebGL-GTA eine im Browser laufende Version von Grand Theft Auto umgesetzt, die die Dateien des Spiels in ihrem Originalformat per Javascript verarbeitet.



Anzeige
Spiele-Angebote
  1. 9,95€
  2. 2,99€
  3. 13,49€
  4. 19,99€

SSD 29. Jul 2012

süß <= ganz einfach: C#, Java, Scala, C++ (also so ziemlich alles andere) Außerdem ist...

SSD 27. Jul 2012

Doch, wo liegt mein Denkfehler?

xUser2 25. Jul 2012

Und dann in einer JS VM ausführen :D http://bellard.org/jslinux/

pythoneer 25. Jul 2012

Die Unfähigkeit richtig zu testen ist beim PHP Team ja legendär :)


Folgen Sie uns
       


Red Dead Redemption 2 auf der Xbox One X - Golem.de live

Wir zeigen auf zahlreich geäußerten Wunsch Red Dead Redemption 2 im Livestream auf der Xbox One X. In der Aufzeichung kommen die Details des zum Teil in 4K hereingezoomten Bildausschnittes gut zur Geltung.

Red Dead Redemption 2 auf der Xbox One X - Golem.de live Video aufrufen
Red Dead Online angespielt: Schweigsam auf der Schindmähre
Red Dead Online angespielt
Schweigsam auf der Schindmähre

Der Multiplayermodus von Red Dead Redemption 2 schickt uns als ehemaligen Strafgefangenen in den offenen Wilden Westen. Golem.de hat den handlungsgetriebenen Einstieg angespielt - und einen ersten Onlineüberfall gemeinsam mit anderen Banditen unternommen.

  1. Spielbalance Updates für Red Dead Online und Battlefield 5 angekündigt
  2. Rockstar Games Red Dead Redemption 2 geht schrittweise online
  3. Games US-Spielemarkt erreicht Rekordumsätze

Google Nachtsicht im Test: Starke Nachtaufnahmen mit dem Pixel
Google Nachtsicht im Test
Starke Nachtaufnahmen mit dem Pixel

Gut einen Monat nach der Vorstellung der neuen Pixel-Smartphones hat Google die Kamerafunktion Nachtsicht vorgestellt. Mit dieser lassen sich tolle Nachtaufnahmen machen, die mit denen von Huaweis Nachtmodus vergleichbar sind - und dessen Qualität bei Selbstporträts deutlich übersteigt.
Ein Test von Tobias Költzsch

  1. Pixel 3 Google patcht Probleme mit Speichermanagement
  2. Smartphone Google soll Pixel 3 Lite mit Kopfhörerbuchse planen
  3. Google Dem Pixel 3 XL wächst eine zweite Notch

IMHO: Valves Ka-Ching mit der Brechstange
IMHO
Valves "Ka-Ching" mit der Brechstange

Es klingelt seit Jahren in den Kassen des Unternehmens von Gabe Newell. Dabei ist die Firma tief verschuldet - und zwar in den Herzen der Gamer.
Ein IMHO von Michael Wieczorek

  1. Artifact im Test Zusammengewürfelt und potenziell teuer
  2. Artifact Erste Kritik an Kosten von Valves Sammelkartenspiel
  3. Virtual Reality Valve arbeitet an VR-Headset und Half-Life-Titel

    •  /