Webentwicklung: XHP – Einfacher und sicherer PHP coden!?

Nachdem Facebook bereits HipHop angekündigt hat, folgt nun mit XHP der nächste Eckpfeiler für die Frontendprogrammierung in dem Unternehmen. Prinzipiell soll XHP vor Cross-Site-Scripting-Attacken schützen, und PHP-Code lesbarer machen.

Mit einem Vorher/Nachher-Vergleich will die Leistungsfähigkeit des Tools demonstrieren:

<?php

if ($_POST['name']) {

?>

    <span>Hello, <?=$_POST['name']?>.</span>

<?php 

} else {

?>

    <form method="post">

    What is your name?<br>

    <input type="text" name="name">

    <input type="submit">

    </form>

<?php

}

Wird mit XHP zu:

<?php

// note: includes omitted

if ($_POST['name']) {

  echo <span>Hello, {$_POST['name']}</span>;

} else {

  echo

    <form method="post">

      What is your name?<br />

      <input type="text" name="name" />

      <input type="submit" />

    </form>;

}

fb engineeringDie Includes hat man sich gespart und wundersamerweise könnte man auch vermuten, das Facebook weder ein MVC-Modell, noch Templates einsetzt, um ihre Seiten darzustellen. Dies könnte auf Performance-Optimierungen zurückzuführen sein, ist aber eigentlich nicht der Standard-Use-Case in Unternehmen. Entsprechend gibt Facebook auch an, XHP auf ihrer Lite Site einzusetzen. Rasmus Lerdorf hat in seinem Blog mit einem Geschwindigkeitsvergleich mittels Siege auf XHP reagiert. Die Zahlen sind für ein Standard-PHP recht ernüchternd, und XHP ist dort faktisch nicht einsetzbar. Rasmus musste mit APC auf die Sprünge helfen, aber selbst da lieferte Siege einen Performance-Verlust von fast 75%. Das Fazit von Rasmus Lerdorf: XHP ist wohl nur mit HipHop einsetzbar.

Weitere Artikel zu Facebook, PHP und Webentwicklung

Das interessiert dich bestimmt auch

6 Answers

  1. von Robert Hartung 11.02.2010 (09:55Uhr) 1.

    Ich muss sagen, dass ich es nicht schön finde, wenn sich dann tatsächlich PHP-Code mit Design und Text-Ausgaben vermischt. Wie verhält es sich mit verschiedenen Sprachen - In der Hinsicht hat man also nur wenig gewonnen!

  2. von Simploo GmbH 11.02.2010 (10:18Uhr) 2.

    Also das der Code lesbarer wird, finde ich in diesem Beispiel nicht. Eher umgekehrt. Zumal man im ersten PHP-Beispiel das eine oder andere an Lesbarkeit noch rausholen könnte.

    Bin trotzdem mal gespannt, wo sich die Sache mit HipHop und XHP hin entwickelt...

  3. von fnagel 11.02.2010 (10:41Uhr) 3.

    Ähh, und wo is jetzt die Verbesserung? Das sieht beides nach unschönem Spagetthicode aus...

  4. von Webdesign Informatik 11.02.2010 (11:03Uhr) 4.

    Lächerlich :) Eine Verbesserung ist nicht zu sehen. Ich halte ohnehin nichts von der permanenten Stückelung in zich PHP-Blocks. Vielmehr arbeite ich mit Textmarken und deren Ersetzung, dass dafür ein wenig HTML in die Programmierung kommt, nehme ich in Kauf, denn im Zeitalter von CSS muss der HTML Code eh kaum wieder geändert werden.

  5. von Frank Karlson 15.03.2010 (00:58Uhr) 5.

    Ich denke nicht das diese kleine Veränderrung sehr von Vorteil ist. Sieht eher wie ein Templatesystem aus und bringt nach meiner Erfahrung nicht die gewünschte Leistung. Nach langen Jahren Erfahrung mit PHP und anderen Scriptsprachen kann ich nur sagen, es ist von Vorteil PHP und HTML Code voneinander zu trennen.
    Es mag sein das diese Veränderrung für FB von Vorteil ist, bringt jedoch für die große Masse nichts!

  6. von Alex 21.03.2011 (12:34Uhr) 6.

    Ich gehe teilweise mit Frank mit. Es bringt der breiten Masse wirklich nichts (oder nur vereinzelt sehr wenig). Es mag vielleicht eine "gute" Variante für Facebook sein, um evtl schneller entwickeln zu können.

    Um XSS vor zu beugen, kann man, insofern man mit diszipliniert programmiert, mit reinem PHP auch viel erreichen.

Deine Meinung


(wird nicht veröffentlicht)