Pfirsichkuchen
![]() | |
Originalautor (en) | Iolevel |
---|---|
Entwickler (en) | .NET Foundation |
Erstveröffentlichung | 18. Juli 2016[1] | .:
Geschrieben in | C#[2] |
Lizenz | Apache 2.0[3] |
Webseite | www |
Pfirsichkuchen ist ein Open-Source-PHP-Sprachkompiler und Laufzeit für die .NET Framework und .NETZ.Es ist auf dem gebaut Microsoft Roslyn Compiler-Plattform und basiert auf der ersten Generation Phalanger Projekt. Peachpie kompiliert Quellcode, das geschrieben wurde Php zu Cil Byte-Code. Peachpie nutzt die aus Jit Compiler -Komponente des .NET -Frameworks, um den Beginn des Kompilierungsprozesses zu verarbeiten. Sein Zweck ist es nicht, zu generieren oder zu optimieren nativen Code, sondern um PHP-Skripte in .NET-Assemblys mit CIL-Code und Meta-Daten zu kompilieren. Im Juli 2017 wurde das Projekt Mitglied der .NET Foundation.[4]
Ursprünge
Die Architektur von Peachpie ähnelt der Phalanger Projekt,[5] das hatte ursprünglich als Kursarbeit am Charles University in Prag, Tschechien.[6][7] Es wurde auf der Microsoft -.NET -Compiler -Plattform mit dem Namen namens implementiert Roslyndie Roslyn nutzen API. Seit 2016 leitet das tschechische Unternehmen Iolevel die Entwicklung von Peachpie.
Peachpie hat mehrere Vorteile gegenüber Phalanger, sowohl aufgrund der Roslyn -API als auch der überarbeiteten Architektur des Compilers. Während Phalanger nur in der Lage war, die volle zu zielen .NET Framework, was nur weiterlief Fensterund plattformübergreifende Funktionen wurden durch Targeting erreicht MonoPeachpie ermöglicht auch eine Zusammenstellung zu .NETZso sein plattformübergreifend standardmäßig.[8] Die bisher veröffentlichten Benchmarks deuten auf Leistungsverbesserungen von Peachpie im Vergleich zu seinem Vorgänger hin.[9][10][11] Das Projekt enthält eine Fortgeschrittene Semantische Analyse, was es dem Compiler ermöglicht, C#-ähnliche Symbole für erweitert zu generieren Interoperabilität Merkmale. Es gibt Ähnlichkeiten zwischen Peachpie und Facebook's HHVM Compiler, der PHP auf einer speziell entwickelten virtuellen Maschine ausführt. Wie Facebook Ende 2017 bekannt gab, wäre Version 3.24 von HHVM die letzte mit PHP kompatibele Version, da sich das Projekt ausschließlich auf die Unterstützung von Facebooks proprietärer Erweiterung von PHP namens Hack konzentrieren würde.[12] Dadurch bleibt Peachpie das einzige Projekt dieser Art mit dem Streben, mit vergangenen und zukünftigen Versionen von PHP kompatibel zu sein.
Das Projekt erhält erhebliche Unterstützung von Microsoft,[13] nach der Präsentation auf der virtuellen Konferenz .net Conf eingeladen worden [14][15] und auf Microsofts "On .net" vorgestellt,[16][17] sowie der .Net Rocks Podcast.[18] Seit Juli 2017 ist Peachpie Mitglied der .Net Foundation. Im Dezember 2018 erhielt Iolevel die Europäischer Innovationsrat's Horizon2020 Grant, um ihre Arbeit am Peachpie -Compiler zu verfolgen.[19][20][21]
Ziele
Das Projekt listet mehrere Hauptziele auf:[22][23]
- Leistung: Da der PHP -Code mit CIL zusammengestellt und anschließend ausgeführt und nicht interpretiert wird, sollte dies theoretisch zu Leistungsverbesserungen führen.[24] Die von den Autoren durchgeführten Mikro-Benchmarks deuten auf eine erhöhte Leistung gegenüber Standard-PHP in isolierten Fällen hin[25] und Tests haben gezeigt, dass das Projekt PHP -Code etwa doppelt so schnell ausführen kann Azurblau.[26] Mit dem TechEmpower Plaintext Benchmark wurde gemessen, dass WordPress auf Peachpie 305.612 Anfragen pro Sekunde steuern konnte.[27] Während der Standard -PHP 45.616 Anfragen pro Sekunde diente.[28] Peachpie ist auch Teil der regelmäßig veröffentlichten TechEmpower -Benchmarking -Runden[29][Fehlgeschlagene Überprüfung], wo Peachpie ab 2019 schneller ist als jedes andere PHP -Framework, das im Benchmark auftritt.[30] Phalanger hatte auch erhebliche Leistungsvorteile gegenüber einer 32-Bit-Windows-Version von PHP 5.4 angeboten.[31][32][33]
- Interoperabilität: Mit dem Projekt können Benutzer zwischen den PHP- und .NET -Sprachen interoperieren. Infolgedessen ungewöhnliche Operationen wie Injektion C# Lambdas In einen PHP -Kontext oder in C#erben PHP -Klassen.[34] Daher können Benutzer PHP verwenden Bibliotheken in ihren .NET -Projekten und umgekehrt.[35]
- Zusätzliche Sicherheit: Angesichts der Tatsache, dass Peachpie den gesamten Quellcode in einer DLL -Datei kompiliert, können die Anwendungen ohne den ursprünglichen Quellcode verteilt werden. Mit dem Peachpie -Projekt können ganze PHP -Anwendungen und Frameworks in das Standard -.NET -DLL -Format zusammengestellt und beispielsweise als verteilt werden NuGet Pakete.[36]
- Plattformübergreifende Fähigkeit: Da Peachpie zielen kann .NETZ, was mit dem regulären .NET -Framework kompatibel ist, Xamarin und Monound rennt weiter Fenster, Mac OS und Linux,[37] Es ermöglicht die Entwicklung von PHP -Anwendungen für alle Geräte und Betriebssysteme, die .NET ausführen können.
Unterstützte Anwendungen
Ab 2019 umfassen offiziell getestete und unterstützte Bewerbungen WordPress,[38][7][39] Mediawiki,[40] die Software, die die ausführt Wikipedia Seite und Codesigniter.[41] Darüber hinaus wurde bestätigt, dass eine Reihe anderer PHP -Frameworks und -Programme von Mitgliedern der Open -Source -Community mit Problemumgehungen arbeiten, z. Laravel,[42] Woocommerce[43] oder Magento.[44]
Siehe auch
Verweise
- ^ Iolevel (18. Juli 2016). "Peachpie Compiler Pre-Release". Abgerufen 10. Februar, 2017.
- ^ "Peachpie -Repository". github.com. [Iolevel]. 10. Februar 2017. Abgerufen 11. Februar, 2017.
- ^ "Iolevel/Peachpie: Lizenz". github.com. [Iolevel]. Abgerufen 11. Februar, 2017.
- ^ Galloway, Jon (2017-07-25). "Begrüßen Sie die Peachpie -Compiler -Plattform der .NET Foundation". Die .NET Foundation.
- ^ Yegulalp, Serdar (2016-03-14). "Peachpie Compiler zielt darauf ab, PHP nach .NET zu bringen". InfoWorld. Abgerufen 2020-09-23.
- ^ PhpCompiler (2011-05-04), Phalanger: Php .NET Compiler enthüllt (1/2), abgerufen 2017-02-08
- ^ a b Hughes, Matthew (2017-02-28). "Dieses Unternehmen hat herausgefunden, wie man WordPress auf .NET ausführt". Das nächste Web. Abgerufen 2018-06-16.
- ^ ".NET CORE Framework - GO -plattformübergreifend mit dem .NET -Framework". msdn.microsoft.com. Abgerufen 2017-02-11.
- ^ De Icaza, Miguel (2012-03-12). "Phalanger's PHP auf Mono/.NET -Updates". tirania.org. Abgerufen 2017-02-11.
- ^ Adams, Ben (2017-03-11). "Peachpie Plaintext Benchmark". Github.
- ^ "Runde 16 Ergebnisse - TechEmpower Framework Benchmarks". 2018-06-06.
- ^ Krill, Paul (2017-09-20). "Vergessen Sie PHP! Facebooks HHVM -Engine schaltet stattdessen zu Hack". InfoWorld. Abgerufen 2019-04-28.
- ^ Millar, Ethan (2016-05-11). "Wie Peachpie -Compiler die Entwicklungstechnologie im PHP - Webentwicklungs -Tutorial nutzt". Webentwicklungs -Tutorial. Abgerufen 2018-10-16.
- ^ Microsoft Visual Studio (2017-09-20), Ausführen von PHP auf .Net Core mit Peachpie, abgerufen 2018-10-16
- ^ Code Mantisa (2018-09-18), S303 - Fortgeschrittene C# PHP -Interoperabilität mit Peachpie von Jakub Misek, abgerufen 2018-10-16
- ^ "Benjamin Fistein & Jakub Míšek - Peachpie -Php -Compiler für .NET". Kanal 9. Abgerufen 2018-10-16.
- ^ "Pfirsichkuchen". Kanal 9. Abgerufen 2018-10-16.
- ^ ".Net Rocks! Vnext". .Net Rocks!. Abgerufen 2018-10-16.
- ^ "Europäischer Innovationsrat KMU Instrument Phase 1" (PDF). ec.europa.eu. November 2018.
- ^ "EIC KMU Instrument Data Hub". Sme.easme-Web.eu. Abgerufen 2019-02-02.
- ^ SKOUPá, Adéla (2019-01-18). "Inovativní Nápady českých Firem Podpoří Eu.. Hospodářské Noviny (im Tschech). Abgerufen 2019-02-02.
- ^ ".NET Foundation". DotNetFoundation.org. Abgerufen 2018-10-16.
- ^ Ben Yacoub, Hatem (2017-02-16). "Peachpie, der PHP -Compiler und Laufzeit für .NET". PHP Magazine Network. Abgerufen 2018-10-16.
- ^ Yegulalp, Serdar. "Peachpie Compiler zielt darauf ab, PHP nach .NET zu bringen". InfoWorld. Abgerufen 2018-10-16.
- ^ "Benchmarks - Peachpie". www.peachpie.io. Abgerufen 2017-02-08.
- ^ Klose, Ann-Kathrin (2017-09-04). "Peachpie: WordPress pro PHP-Kompiler auf .netnszen". entwickler.de (auf Deutsch). Abgerufen 2018-10-16.
- ^ Adams, Ben. "Peachpie -Benchmarks". GitHub.
- ^ "Runde 13 Ergebnisse - TechEmpower". Techempower.
- ^ "TechEmpower Framework Benchmarks". www.techempower.com. Abgerufen 2018-06-16.
- ^ "Ben Adams auf Twitter". Twitter. Abgerufen 2018-06-16.
- ^ "Benchmarks". v1.php-compiler.net. Abgerufen 2017-02-12.
- ^ "Phalanger: PHP mit Mono, .NET - Phoronix". www.phoronix.com. Abgerufen 2017-02-12.
- ^ "Phalanger von DevSense". v4.php-compiler.net. Abgerufen 2017-02-13.
- ^ Vaggalis, Nikos (24. Oktober 2016). "Peachpie Open Source Php to .net Compiler". i-programmer.info. Abgerufen 2017-04-08.
- ^ Peipman, Gunnar. "Ausführen von PHP -Anwendungen auf .net Core - Dzone Web Dev". dzone.com. Abgerufen 2018-10-16.
- ^ Hanselman, Scott. "Die gesamte WordPress wurde mit Peachpie - Scott Hanselman - mit Peachpie - Scott Hanselman zusammengestellt", zusammengestellt.. www.hanselman.com. Abgerufen 2018-10-16.
- ^ Richlander. ".NET CORE DOCS". docs.microsoft.com. Abgerufen 2017-02-08.
- ^ Hanselman, Scott. "Peachpie - Open -Source -Php -Compiler für .NET und WordPress unter ASP.NET CORE - Scott Hanselman". www.hanselman.com. Abgerufen 2018-06-16.
- ^ "Partnerschaft Zwische Mozilla und BrowsStack & Updates für Symfony". entwickler.de (auf Deutsch).2017-03-06. Abgerufen 2019-04-28.
- ^ "Einrichten von Mediawiki auf .NET mit Peachpie @ peachpie | PHP -Compiler bei .NET". www.peachpie.io. Abgerufen 2018-06-16.
- ^ "Performance Progress Report @ Peachpie | PHP -Compiler bei .NET". www.peachpie.io. Abgerufen 2018-06-16.
- ^ Baart, Calvin (2019-04-18), Github-Calvinbaart/Laravel-Peachpie-Probe, abgerufen 2019-04-28
- ^ Llewellyn, Daniel (2019-04-26), Github - diddledan/net.wordpress.plugin.woocommerce, abgerufen 2019-04-28
- ^ Tobi (2018-08-28), Dieses Projekt spiegelt Magento 1.9.3.8 wider und versucht, es über Peachpie (https://www.peachpie.io/) zu .NET kompilieren zu lassen. Während dessen tun einige Korrekturen, die als "Kernhacks" bezeichnet werden, sind Neccessa., abgerufen 2019-04-28
{{}}
: Externer Link in|title=
(Hilfe)