PHP galėjo egzistuoti kurį laiką, tačiau tai vis dar yra svarbi žiniatinklio kūrimo priemonė. Remdamasis deklaratyviu programavimo modeliu, PHP pratęsia žinomą HTML sintaksę papildomomis komandomis ir funkcijomis, įtraukdamas internetinį programavimą ir plėtinius į savo žiniatinklio turinį. Šis modelis pavertė jį svarbia daugelio turinio valdymo sistemų dalimi, suteikiant pagrindą duomenų bazės pateikiamam turiniui valdyti ir puslapiams formatuoti naudojant dinaminius šablonus.
PHP ateitis sistemoje „Windows“
Daugelis šių TVS veikia įmonių ugniasienėse, talpina intranetus ir vidinio bendradarbiavimo įrankius. Taigi nenuostabu matyti, kad oficialūs „Windows“ PHP komponentai yra „Microsoft“, kaip vienas iš ilgiausiai veikiančių atvirojo kodo projektų.
Tačiau visi geri dalykai baigiasi, o „Microsoft“ neseniai paskelbė, kad negamins oficialaus „Windows“ skirtos PHP 8 versijos. Iki šiol „IIS“ ir kitiems „Windows“ žiniatinklio serveriams „Windows“ leidimus teikė kaip dvejetainius failus ir šaltinio kodą „Windows.php.net“. Tačiau tai nustos veikti ateityje, nes komanda, teikianti „Windows PHP“, pereina prie kitų projektų, nes PHP 7 išgyvena savo palaikymo ciklą.
Ką šis politikos pakeitimas rodo PHP ateičiai sistemoje „Windows“? Dar svarbiau, kokios yra alternatyvos, jei norite pasinaudoti proga pakeisti savo darbo būdą?
Taip, yra ateitis
Pirmiausia ir svarbiausia - „PHP for Windows“ neišnyks. Labai aišku, kad reikia daugiau nei pakankamai, kad kas nors toliau kurtų ir platintų „Windows“ PHP versiją už PHP 7 ribų. „Microsoft“ tiesiogiai neprisidės prie išteklių ir serverių, tačiau daugiau nei tikėtina, kad aukos licencijas ir serverius PHP projektas, užtikrinantis, kad bent jau iš „Windows“ versijos atsiras automatizuoto PHP CI / CD (nuolatinio integravimo / nepertraukiamo pristatymo) proceso metu.
PHP komanda turės sukurti „Windows“ įgūdžių rinkinį, kad užtikrintų, jog vykdomi tinkami testai ir kad kodas yra tinkamai optimizuotas, užtikrinant, kad „Visual Studio“ būtų naudojami teisingi komponavimo parametrai. Nors tai neturėtų būti per sunku, tai nėra tas pats, kas skirti išteklius iš vienos didžiausių programinės įrangos kompanijų pasaulyje.
Arba yra ir kitų „Windows“ PHP versijų, kurias sukūrė daugybė trečiųjų šalių bendrovių su savo PHP įrankiais ir savanoriai, kuriantys iš atvirojo kodo bazės. Jei norite palaikymo, tikriausiai turėtumėte pasirinkti komercinę PHP versiją, o atvirosios versijos idealiai tinka sudaryti „Windows PHP“ kūrimo aplinką.
WSL naudojimas kuriant PHP
Jei ieškote alternatyvų, pati „Microsoft“ debesyje priglobta „Azure App Service“ programų platforma palaiko PHP, nors čia ji veikia „Linux“, o ne „Windows“. Jei kuriate tam skirtą kodą, greičiausiai savo kūrimo procese norėsite „Linux“ PHP versijos, nukreipdami ją į „Visual Studio Code“ esančius nuotolinio darbo srities įrankius. Yra daugybė skirtingų „Code“ PHP plėtinių, pradedant „IntelliSense“ palaikymu ir baigiant derinimo bei kodo formatavimo įrankiais.
Įdiegti PHP į WSL („Windows“ posistemį, skirtą „Linux“) yra pakankamai lengva, o visos jūsų reikalingos priklausomybės įdiegiamos per pasirinktą paketų tvarkyklę. Įdiegus PHP „Ubuntu WSL“ egzemplioriuje, bus įdiegtas ir sukonfigūruotas „Apache“ žiniatinklio serveris, todėl galėsite greitai pereiti nuo kodo rašymo ir testavimo prie jo paleidimo gamybiniame žiniatinklio serveryje. Diegimas trunka kelias minutes, kai viskas paruošta paleisti „Windows“ terminale ir prieinama iš „Visual Studio“ kodo, veikiančio „Windows“. Nesvarbu, ar naudojate WSL 1, ar WSL 2, jūs gaunate daug tą pačią patirtį naudodami bet kurią versiją.
Kai „Linux“ PHP egzempliorius veikia jūsų kūrimo mašinoje, dabar galite sukurti PHP programą ir ją išbandyti prieš diegdami ją į „Azure App Services“ arba priglobtą žiniatinklio serverį. Jei naudojate WSL 2, šį naują kūrimo modelį galima naudoti kartu su naujausiais „Docker Containers“ leidimais, naudojant savo kūrimo kompiuterį, kad sukurtumėte kodą WSL ir supakuotumėte jį kaip talpyklą, kad būtų lengviau diegti serveriuose, arba jūsų tinkle, prieglobos paslauga arba viešasis debesis.
PHP naudojimas „Linux“ sistemoje per WSL greičiausiai bus mažiausiai trikdantis PHP kūrimo „Windows“ variantas, tačiau alternatyvus būdas gali būti darbas su modernesniu žiniatinklio kūrimo modeliu. Turite daug pasirinkimų: arba likti „Microsoft“ ekosistemoje naudojant ASP.NET, arba pereiti prie kelių platformų modelio, pagrįsto statiniu svetainės kūrimu, naudojant tokius metodus kaip „Jamstack“.
Nauji kūrimo modeliai: .NET Blazor ir „Azure Static Web Apps“
Aišku viena: deklaratyvus žiniatinklio programų kūrimo modelis, kurį naudoja PHP, niekur nedings. Patikimas argumentas, kodėl baigiasi oficialus „Microsoft“ palaikymas PHP, yra tai, kad naujesnės „Microsoft“ technologijos gali suteikti jums panašių kūrimo galimybių, tuo pačiu naudojant mažiau išteklių ir vis dar dirbant įvairiomis platformomis, taip pat su gairėmis, palaikančiomis naujesnes žiniatinklio technologijas.
ASP.NET Core yra daugiaplatformė aplinka, kuri naudoja serverio pusės .NET kodą HTML ir „JavaScript“ komponentams pateikti. Remiantis nešiojamuoju .NET Core vykdymo laiku, ASP.NET Core „Razor“ sintaksė siūlo deklaratyvius programavimo metodus, panašius į PHP. Tačiau didelis skirtumas atsiranda, kai jį naudojate kartu su serverio „Blazor“ programavimo modeliu.
Didžiausią dėmesį skirdamas vieno puslapio žiniatinklio programoms, „Blazor Server“ vykdo ASP.NET kodą jūsų žiniatinklio serveryje, kaupdamas turinį į iš anksto pateiktus žiniatinklio komponentus su „Signal R“ ryšiu tarp naršyklės turinio ir vidinių paslaugų. Šis metodas turi pranašumą, kai reikalaujama palyginti mažo pralaidumo, tam tikros delsos sąskaita, kai kiekvienai sąveikai reikalingas ryšys tarp serverio ir naršyklės. Išankstinis tokio turinio pateikimas gali padėti vartotojams pajusti, kad programa yra jautresnė, o sąveika atnaujina vartotojo sąsajos komponentus.
Neseniai paleidus „Azure Static Web Apps“ kaip „Azure App Services“ dalį, „Azure“ ir „Windows“ buvo sukurtas naujas žiniatinklio turinio kūrimo ir naudojimo būdas. Kuriant svetaines naudojant „Visual Studio Code“ ir talpinant turinį „GitHub“, pasirinktinis „GitHub“ veiksmas diegia atnaujintą turinį „Azure“. Svetainės kuriamos naudojant HTML, kliento „JavaScript“ ir API ryšius su duomenų bazėmis ir kitomis paslaugomis.
Kaip ir „Blazor“ bei PHP, „Jamstack“ naudoja šablonais pagrįstą požiūrį į svetainės dizainą, nors jis mažiau tinka tradicinėms TVS ir labiau failams pagrįstam turiniui, kurį galima platinti per turinio pristatymo tinklus, naudojant jas talpinti turinį arčiau jūsų vartotojų. Turinio pagrindu sukurtą „Azure Static Web Apps“ svetainę galite sukurti naudodami „Jamstack“ metodus, tačiau kiekvieną kartą, kai skelbiate naują turinį, turite būti pasirengę atstatyti visą svetainę.
„Microsoft“ pasibaigus savosios PHP versijos palaikymui nėra katastrofa. Tai ženklas, kad Redmondo prioritetai pasikeitė; tokios technologijos kaip WSL ir „Azure“ priglobta „Linux“ siūlo alternatyvius kelius kuriant ir vykdant PHP kodą.
Tai taip pat ženklas, kad kiti, modernesni požiūriai į žiniatinklio programų kūrimą gali būti labiau suderinti su dabartiniu „Microsoft“ keliu, orientuotu į debesį, remiantis .NET ir šiuolaikinėmis programų kūrimo metodikomis. Kad ir ką nuspręstumėte daryti, turite daugybę galimybių.