PeachPie

PeachPie
Originalförfattare nivå
Utvecklare .NET Foundation
Initial release 18 juli 2016 ; 6 år sedan ( 2016-07-18 ) .:
Skrivet i C#
Licens Apache 2.0
Hemsida www .peachpie .io

PeachPie är en PHP-språkkompilator med öppen källkod och körtid för .NET Framework och .NET . Den är byggd ovanpå Microsoft Roslyns kompilatorplattform och är baserad på första generationens Phalanger- projekt. PeachPie kompilerar källkod skriven i PHP till CIL byte-kod. PeachPie drar fördel av JIT- kompilatorkomponenten i .NET Framework för att hantera början av kompileringsprocessen. Dess syfte är inte att generera eller optimera inbyggd kod , utan snarare att kompilera PHP-skript till .NET-sammansättningar som innehåller CIL-kod och metadata. I juli 2017 blev projektet medlem i .NET Foundation .

Ursprung

PeachPies arkitektur liknar Phalanger- projektet, som ursprungligen började som kurser vid Charles University i Prag , Tjeckien . Det implementerades på Microsofts .NET-kompilatorplattform som heter Roslyn , med hjälp av Roslyn API . Sedan 2016 har det tjeckiska företaget iolevel lett utvecklingen av PeachPie. [ citat behövs ]

PeachPie har flera fördelar jämfört med Phalanger, både som ett resultat av Roslyn API och kompilatorns omarbetade arkitektur. Medan Phalanger bara kunde rikta in sig på hela .NET Framework , som bara kördes på Windows , och plattformsoberoende kapacitet uppnåddes genom att rikta in sig på Mono , tillåter PeachPie också en kompilering till .NET , vilket är plattformsoberoende som standard. De hittills publicerade riktmärkena pekar på prestandaförbättringar av PeachPie jämfört med föregångaren. Projektet innehåller en avancerad semantisk analys , som gör att kompilatorn kan generera C#-liknande symboler för förbättrade interoperabilitetsfunktioner . Det finns likheter mellan PeachPie och Facebooks HHVM- kompilator , som kör PHP på en specialdesignad virtuell maskin. Men som Facebook meddelade i slutet av 2017, skulle version 3.24 av HHVM vara den sista utgåvan som är kompatibel med PHP, eftersom projektet enbart skulle fokusera på att stödja Facebooks egenutvecklade förlängning av PHP som heter Hack. Detta lämnar PeachPie som det enda projektet av detta slag med strävan att vara kompatibel med tidigare och framtida versioner av PHP. [ citat behövs ]

Projektet får avsevärt stöd från Microsoft , efter att ha blivit inbjuden att presentera på den virtuella konferensen .NET Conf och presenterats på Microsofts "On .NET", samt .NET Rocks-podcasten. Sedan juli 2017 har PeachPie varit medlem i .NET Foundation. I december 2018 fick iolevel European Innovation Councils Horizon2020 - anslag för att fortsätta sitt arbete med PeachPie-kompilatorn.

Mål

Projektet listar flera huvudmål:

  • Prestanda : eftersom PHP-koden kompileras till CIL och därefter exekveras, snarare än tolkas, bör detta teoretiskt sett leda till prestandaförbättringar. Mikrobenchmarks utförda av författarna tyder på en ökad prestanda jämfört med standard PHP i enstaka fall och tester har visat att projektet kan köra PHP-kod ungefär dubbelt så snabbt på Azure . Med hjälp av TechEmpowers rentext-riktmärke, mättes det att WordPress som kördes på PeachPie kunde betjäna 305 612 förfrågningar per sekund, medan standard PHP serverade 45 616 förfrågningar per sekund. PeachPie är också en del av de regelbundet publicerade TechEmpower benchmarking-rundorna [ misslyckad verifiering ] , där PeachPie från och med 2019 är snabbare än något annat PHP-ramverk som visas i benchmarken. [ icke-primär källa behövs ] Phalanger hade också erbjudit betydande prestandafördelar jämfört med en 32-bitars Windows-version av PHP 5.4.
  • Interoperabilitet : projektet tillåter användare att samverka mellan PHP- och .NET-språken. Som ett resultat är ovanliga operationer, som att injicera C# lambdas i en PHP-kontext eller att ärva PHP-klasser i C#, möjliga. Därför kan användare använda PHP- bibliotek i sina .NET-projekt och vice versa.
  • Ytterligare säkerhet : med tanke på att PeachPie kompilerar all källkod till en DLL-fil, kan applikationerna distribueras utan den ursprungliga källkoden. PeachPie-projektet möjliggör att hela PHP-applikationer och ramverk kompileras till standardformatet .NET DLL och distribueras till exempel som NuGet -paket.
  • Plattformsövergripande förmåga : eftersom PeachPie kan rikta in sig på .NET , som är kompatibelt med det vanliga .NET Framework, Xamarin och Mono , och körs på Windows , MacOS och Linux , gör det möjligt för PHP-applikationer att utvecklas för alla enheter och operativsystem som kan att köra .NET.

Applikationer som stöds

Från och med 2019 inkluderar officiellt testade och stödda applikationer WordPress , MediaWiki , programvaran som kör Wikipedia- sidan och CodeIgniter . Dessutom har ett antal andra PHP-ramverk och -program bekräftats fungera med lösningar av medlemmar i open source-gemenskapen, t.ex. Laravel , WooCommerce eller Magento .

Se även