Heim >Backend-Entwicklung >PHP-Tutorial >HHVM und Hack - können wir erwarten, dass sie PHP ersetzen?

HHVM und Hack - können wir erwarten, dass sie PHP ersetzen?

Lisa Kudrow
Lisa KudrowOriginal
2025-02-22 09:56:10630Durchsuche

HHVM and Hack - Can We Expect Them to Replace PHP?

Kernpunkte

  • Die von Facebook entwickelten HHVM (Virtual Machine) und Hack -Programmiersprachen sollen die Ausführungsgeschwindigkeit und die Speichereffizienz von PHP verbessern. halbiert.
  • Hack ist eine verbesserte Version der PHP -Sprache. Es ist vollständig HHVM -kompatibel und wird auf alle Produktionsserver auf Facebook angewendet.
  • Hack führt Sammelstypen wie Vector und MAP ein, die die gleiche Funktionalität wie PHP-Arrays aufweisen, aber eine freundlichere objektorientierte Schnittstelle bietet. Es unterstützt auch Lambda -Ausdrücke, die Abkürzung von Schließungen.
  • Das Typ -System von
  • Hack ist so konzipiert, dass Programmierfehler frühzeitig erfasst und schnellere Code generiert werden. Es wird statisch getippt, unterstützt Skalartypen und unterstützt die generische Programmierung, wodurch die Erstellung dedizierter Arrays und benutzerdefinierter Typen ermöglicht wird.

Facebook begann 2008 mit der Entwicklung von HipHop für PHP. Ihr Ziel ist es, die PHP -Ausführung zu beschleunigen, und die erste Version des Projekts besteht aus HPHPC/HPHPI. HPHPC ist ein PHP -C -Wandler für den Bereitstellen von Code für Produktionsserver, während HPHPI ein Dolmetscher ist, das während der Entwicklung und der Debugging -Phasen verwendet wird.

HPC leistet einen großartigen Job bei der Verbesserung der Leistung, aber es ist nicht ohne Probleme: HPHPC- und HPHPI -synchronisiert zu halten, ist sehr umständlich, und es gibt immer noch einige Unterschiede zwischen dem konvertierten Code und dem erklärten Code. Aus diesem Grund hat Facebook im Jahr 2010 beschlossen, einen anderen Ansatz zu verfolgen und HHVM zu erstellen, eine neue virtuelle Maschine, die den von PHP verwendeten Zend -Engine ersetzt. Bis Ende 2012 war die Leistung von HHVM mit früheren HPHPC vergleichbar und übertraf es schnell.

HHVM ist entwickelt, um die Kompatibilität und eine optimale Leistung mit Zend -Engine -Funktionen gleichzeitig zu erzielen. Facebook behauptet, dass nach dem Umschalten von PHP APC auf HHVM die Geschwindigkeit um 3 bis 10 Mal erhöht wurde und die Speicherverwendung um die Hälfte reduziert wurde. Natürlich hängt es wirklich von der Anwendung ab (die 10 -fache Erhöhung ist die Codebasis für Facebook). Dieser Artikel konzentriert sich nicht auf Kompatibilität oder Leistung, da bereits eine große Anzahl von Ressourcen verfügbar sind. Sie können sich das HHVM -Blog ansehen oder nach "HHVM -Benchmark" suchen. Weitere Informationen zu HipHop und HHVM finden Sie im vorherigen SitePoint -Artikel.

Stattdessen konzentriert sich dieser Artikel auf Hack, eine verbesserte Version der PHP -Sprache zur Verbesserung der Sicherheit, Leistung und Entwicklungseffizienz. Bitte beachten Sie, dass HHVM sowohl Hack als auch PHP unterstützt. Obwohl Hack auf allen Produktionsservern von Facebook verwendet wurde, sind derzeit nur wenige Informationen durchgesickert. Kurz gesagt, Hack ist der Php6 von Facebook - es wurde entwickelt, um die meisten aktuellen PHP -Probleme zu beheben und gleichzeitig einige neue Funktionen wie statisches Tippen hinzuzufügen.

Anfänger von Hack

Zu diesem Zeitpunkt wurden nicht alle Tools und Dokumente veröffentlicht. Der neueste HHVM -Quellcode unterstützt jedoch bereits Hack. Sie können die Vagrant Virtual Machine installieren, um mit Hack zu experimentieren und das Code -Snippet in diesem Artikel auszuführen:

<code class="language-bash"># 确保你的机器上已安装Vagrant
$ git clone https://github.com/vicb/hhvm-vagrant.git
$ cd hhvm-vagrant
$ vagrant up</code>
Jetzt können Sie Ihr erstes Hack -Programm schreiben:

<code class="language-hack"><?hh require "/vagrant/www/xhp/php-lib/init.php";

$hello = "Hello HACK!";

echo <title>{$hello}!</title>
<h1>{$hello}</h1></code>

Das obige ist der detaillierte Inhalt vonHHVM und Hack - können wir erwarten, dass sie PHP ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn