PHP .Net PeachPie
PHP .Net PeachPie
.NET-be integrált PHP (7.4). Egy bíztató irány vonal, de a verzió száma (1.0.0) is jelzi, hogy még nem egy teljesen kiforrott technológia. A teljes PHP-s társadalomnak egy új út, ezt a projekt szempontjából felül kellene vizsgálnunk, de már ez magában erőforrás igényes feladat. De ez a lehetőség a mindenképpen megoldással kecsegtet.
A PeachPie fordító célja a PHP és .NET összekapcsolása. Segítségével a PHP kód fordítható .NET Framework-kel, és nem kell hozzá telepíteni semmilyen php-t. A későbbiekben pedig mind a PHP mind a C# kód fejleszthető, és egy projekt részét fogják képezni. Az eszköz teljes értékű nyelvvé lépteti elő a PHP-t a .NET platformon - hasonlóvá a C#-hoz vagy a VB.NET-hez -, amin írt programokból "natív" MSIL kódot lehet generálni, majd azt bármilyen .NET környezetben futtatni.
Egy érv lehet a fordítás mellett (az esetleges sebességnövekedésen kívül), és az az, hogy biztonsági szempontból egy PeachPie lefordított dll-t nehezebb feltörni, mint a forráskódú php állományok könyvtáraként telepített eredeti php alkalmazást. Ez nem tudom, hogy mennyire fogja meg az embereket, de azért gyanítom, hogy tömegével emiatt nem fognak áttérni. Bár a PHP forrásához való hozzáférés erősen függ a szerver sebezhetőségétől, egy jól adminisztrált Linux nyújt annyi biztonságot, hogy a fordítás előtti szkriptek ne kerüljenek ki.
Az következő oldalon Get Started @ PeachPie | PHP compiler to .NET található több leírás is, hogy kezdjünk el egy peachpie projektet, és külön a Web App és a Console App elkészítését. Mi a Web Appot készítettünk a tesztelések és a futáskörnyezet vizsgálatakor.
Alap web app létrehozása:
- .NET CORE SDK telepítése
Első lépés-ként - command line-ba
- dotnet new -i Peachpie.Templates::*
- dotnet new web -lang PHP
- cd Server
- dotnet run
- http://localhost:5004
Ezután a Visual Studio Code-ot kell telepíteni, majd a PeachPie for Visual Studio Code extensiont is, így már tudjuk szerkeszteni az előbb létrehozott web appot. Illetve a későbbiekben a beépített terminál is használható futtatásra.
Majd következő lépésben a projectet próbáltam peachpie segítségével lefordítani és futtatni. Ezt összességében már nem tudtam megvalósítani, mert a build folyamatnál fellépő hibákat nem tudtam kijavítani.
Első lépéskén egy teljesen sima (pure) PHP szkriptekkel próbálkoztunk. Tiszta kódokat zökkenő mentesen tudtunk implementálni és buildelni.
https://netacademia.blog.hu/2017/07/28/peachpie_7_1_php_fordito_net_platformra_ii
A PHP->PeachPie használat erőforrás igényes, kell hozzá tanulni, és kérdés, hogy a megszerzett tudás domain mennyire lesz majd később elterjedt. Két világ ötvözése, előnye (ugyanaz, mint a hátránya), hogy mindkét világhoz kell hozzá érteni, és a jót ki lehet használni. A hátránya ugyanez, hogy többet kell hozzá tanulni, és biztosan nehéz hozzá a későbbiekben szakértőt találni.