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.

Anzeige

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.

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.


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 :)

Kommentieren



Anzeige

  1. IT-Quality Consultant (m/w)
    gempex GmbH, Mannheim
  2. SAP Basis Administrator (m/w)
    WSW Software GmbH, Krailling (bei München)
  3. SOC Security Analyst (m/w) in IT Security Services
    Allianz Managed Operations & Services SE, München
  4. Remote Services & Servicetoolmanager (m/w)
    über ANJA KISSLING PERSONALBERATUNG, Region Zollernalb

 

Detailsuche


Folgen Sie uns
       


  1. Maynard

    Wayland-Shell für den Raspberry Pi

  2. BGH-Urteil

    Typenbezeichnung gehört in eine Werbeanzeige

  3. Startup Uber

    Privater Taxidienst Uberpop verboten

  4. Project Atomic

    Red Hat erarbeitet Host-System für Docker-Container

  5. Getac T800

    Robustes 8-Zoll-Tablet mit Windows

  6. MS-Flugsimulator X

    Flughafen Berlin-Brandenburg eröffnet

  7. Vorratsdatenspeicherung

    Totgesagte speichern länger

  8. Intel

    Broxton LTE erst 2016, Skylake-Produktion noch 2015

  9. Bitcoin-Börse

    Mtgox soll verkauft oder aufgelöst werden

  10. Samsung

    Topsmartphone mit Tizen kommt im Sommer



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Windows 8.1 Update 1 im Test: Ein lohnenswertes Miniupdate
Windows 8.1 Update 1 im Test
Ein lohnenswertes Miniupdate

Microsoft geht wieder einen Schritt zurück in die Zukunft. Mit dem Update 1 baut der Konzern erneut Funktionen ein, die vor allem für Mausschubser gedacht sind. Wir haben uns das Miniupdate für Windows 8.1 pünktlich zur Veröffentlichung angesehen.

  1. Microsoft Installationsprobleme beim Windows 8.1 Update 1
  2. Windows 8.1 Update 1 Wieder mehr minimieren und schließen
  3. Microsoft Windows 8.1 Update 1 vorab verfügbar

A Maze 2014: Tanzen mit der Perfect Woman
A Maze 2014
Tanzen mit der Perfect Woman

Viele Spiele auf dem Indiegames-Festival A Maze 2014 wirkten auf den ersten Blick abwegig. Doch die kuriosen Konzepte ergeben Sinn. Denn hinter Storydruckern, Schlafsäcken und virtuellen Fingerfallen versteckten sich erstaunlich plausible Spielideen.

  1. Festival A Maze Ist das noch Indie?
  2. Test Cut The Rope 2 für Android Grün, knuddlig und hungrig nach Geld
  3. Indie-Game NaissanceE Wenn der Ton das Spiel macht

Videospiele: Inkompetenz macht Spieler wütend
Videospiele
Inkompetenz macht Spieler wütend

Gegner von Videospielen behaupten gerne, gewalttätige Spiele machten aggressiv. Eine Studie aber besagt: Nicht nur der Inhalt, sondern auch die Spielmechanik ist schuld.


    •  / 
    Zum Artikel