Programiranje

Konec vrstice za PHP v sistemu Windows

PHP morda obstaja že nekaj časa, vendar je še vedno pomembno orodje za spletni razvoj. Na podlagi deklarativnega modela programiranja PHP razširja znano sintakso HTML z dodatnimi ukazi in funkcijami ter dodaja vrstno programiranje in razširitve k vaši spletni vsebini. Ta model je postal pomemben del številnih sistemov za upravljanje vsebin, saj je zagotovil okvir za upravljanje vsebine, ki jo prinaša baza podatkov, in oblikovanje strani z uporabo dinamičnih predlog.

Prihodnost PHP v sistemu Windows

Mnogi od teh sistemov upravljanja vsebin se izvajajo znotraj korporativnih požarnih zidov, gostijo intranete in notranja orodja za sodelovanje. Zato ni presenetljivo, da uradne različice PHP za Windows prihajajo iz Microsofta kot enega njegovih najdaljših odprtokodnih projektov.

A vse dobre stvari se končajo in Microsoft je pred kratkim napovedal, da ne bo izdal uradne različice PHP 8 za Windows. Do zdaj je izdajal izdaje sistema Windows kot binarne datoteke in izvorno kodo na Windows.php.net za IIS in druge spletne strežnike Windows. Vendar se bo to v prihodnosti ustavilo, ko se bo ekipa, ki je predstavila Windows PHP, prešla na druge projekte, ko bo PHP 7 preživel svoj življenjski cikel podpore.

Kaj predlaga ta sprememba pravilnika za prihodnost PHP v sistemu Windows? In kar je še pomembneje, kakšne so druge možnosti, če želite izkoristiti priložnost, da spremenite svoje delo?

Da, prihodnost je

Prvi in ​​najpomembnejši, PHP za Windows ne bo izginil. Jasno je, da je več kot dovolj povpraševanja po tem, da nekdo nadaljuje z gradnjo in distribucijo različice PHP za Windows, ki presega PHP 7. Microsoft ne bo neposredno prispeval virov in strežnikov za zgradbe, več kot verjetno pa bo licence in strežnike podaril projekt PHP, ki bo zagotovil, da bo iz avtomatiziranega procesa PHP CI / CD (neprekinjena integracija / neprekinjena dostava) zagotovljena vsaj izdelava sistema Windows.

Skupina PHP bo razvila nabor spretnosti za Windows, da bo zagotovila pravilno izvajanje preskusov in pravilno optimizacijo kode, tako da bo v Visual Studio uporabila prave nastavitve gradnje. Čeprav to ne bi smelo biti pretežko, ni enako, kot če bi imeli namenske vire enega največjih svetovnih podjetij s programsko opremo.

Obstajajo tudi druge različice PHP za Windows, ki jih je ustvarila mešanica neodvisnih podjetij z lastnimi orodji PHP in prostovoljcev, ki gradijo iz odprtokodne baze kod. Če želite podporo, potem verjetno izberite komercialno različico PHP, medtem ko so odprte gradnje idealne za sestavljanje razvojnega okolja PHP za Windows.

Uporaba WSL za razvoj PHP

Če iščete alternative, Microsoftova programska platforma za gostovanje v oblaku, ki gosti storitev v oblaku, podpira PHP, čeprav se tukaj izvaja v Linuxu in ne v sistemu Windows. Če za to gradite kodo, boste verjetno v središču razvojnega procesa želeli različico PHP za Linux, ki jo usmerite z orodji za oddaljeni delovni prostor v Visual Studio Code. Obstaja veliko različnih razširitev PHP za kodo, od podpore IntelliSense do orodij za odpravljanje napak in oblikovanja kode.

Namestitev PHP v WSL (podsistem Windows za Linux) je dovolj enostavna, vse odvisnosti, ki jih potrebujete, pa so nameščene prek izbranega upravitelja paketov. Če namestite PHP v primerek Ubuntu WSL, boste namestili in konfigurirali spletni strežnik Apache, tako da boste lahko hitro prešli od pisanja in preizkušanja kode do njenega zagona na delovnem spletnem strežniku. Namestitev traja nekaj minut, vse, kar je pripravljeno za zagon v terminalu Windows in je dostopno iz kode Visual Studio, ki se izvaja v sistemu Windows. Ni važno, ali uporabljate WSL 1 ali WSL 2, dobite približno enako izkušnjo z eno ali drugo različico.

Z primerom Linuxa PHP, ki se izvaja na vašem razvojnem računalniku, lahko zdaj zgradite aplikacijo PHP in jo preizkusite, preden jo razporedite v storitve Azure App Services ali na gostujoči spletni strežnik. Če uporabljate WSL 2, lahko ta novi razvojni model uporabite z najnovejšimi izdajami Docker Containers, tako da svoj razvojni računalnik zgradite kodo v WSL in jo nato zapakirate kot vsebnik za lažjo uvajanje na strežnike, bodisi v vašem omrežju, storitev gostovanja ali javni oblak.

Uporaba PHP v Linuxu prek WSL bo verjetno najmanj moteča možnost za razvoj PHP v operacijskem sistemu Windows, vendar bi lahko bil alternativni pristop delo s sodobnejšim modelom spletnega razvoja. Izbirate lahko med veliko izbiro: bodisi ostanite v Microsoftovem ekosistemu z uporabo ASP.NET bodisi se pomaknite do medplatformnega modela, ki temelji na statičnem razvoju spletnega mesta z uporabo pristopov, kot je Jamstack.

Nova razvojna modela: .NET Blazor in Azure Static Web Apps

Jasno je eno: deklarativni model razvoja spletnih aplikacij, ki ga uporablja PHP, ne izginja. Verjeten argument za konec uradne Microsoftove podpore za PHP je, da vam novejše Microsoftove tehnologije omogočajo podobne razvojne možnosti, hkrati pa uporabljajo manj virov in še vedno delujejo na različnih platformah ter imajo načrt, ki podpira novejše spletne tehnologije.

ASP.NET Core je medplatformno okolje, ki uporablja strežniško kodo .NET za dostavo komponent HTML in JavaScript. Sintaksa Razor ASP.NET Core, ki temelji na prenosnem izvajalnem okolju .NET Core, ponuja deklarativne tehnike programiranja, podobne PHP. Velika razlika pa nastane, če jo uporabljate skupaj s programskim modelom Blazor na strežniški strani.

Blazor Server s poudarkom na spletnih straneh z eno stranjo izvaja kodo ASP.NET na vašem spletnem strežniku in zbira vsebino v predhodno upodobljene spletne komponente s povezavo Signal R med vsebino brskalnika in zalednimi storitvami. Prednost tega pristopa je v tem, da zahteva razmeroma malo pasovne širine na račun določene zakasnitve s povratno povezavo med strežnikom in brskalnikom, potrebno za vsako interakcijo. Predhodno upodabljanje vsebine na ta način lahko uporabnikom pomaga, da se aplikacija bolj odziva, interakcije pa osvežijo komponente uporabniškega vmesnika.

Nedavni zagon Azure Static Web Apps kot dela Azure App Services je v Azure in Windows prinesel nov način ustvarjanja in uporabe spletne vsebine. Z lokalno gradnjo spletnih mest s pomočjo kode Visual Studio in gostovanjem vsebin v GitHubu dejanje GitHub po meri razporedi posodobljeno vsebino v Azure. Spletna mesta so zgrajena z uporabo HTML-ja, odjemalskega JavaScripta in povezav API do podatkovnih baz in drugih storitev.

Tako kot Blazor in PHP tudi Jamstack pri oblikovanju spletnega mesta temelji na predlogih, čeprav je manj primeren za tradicionalne sisteme upravljanja vsebin in bolj za vsebino na osnovi datotek, ki jo je mogoče distribuirati prek omrežij za dostavo vsebin in jih uporabiti za predpomnjenje vsebin, ki so bližje vašim uporabnikom. S pomočjo tehnik Jamstack lahko zgradite spletno mesto Azure Static Web Apps, ki temelji na vsebini, vendar morate biti pripravljeni na obnovo celotnega spletnega mesta vsakič, ko objavite novo vsebino.

Konec Microsoftove podpore lastni različici PHP ni katastrofa. To je znak, da so se prioritete Redmonda spremenile; tehnologije, kot sta WSL in Linux, ki ga gosti Azure, ponujajo nadomestne poti do gradnje in izvajanja kode PHP.

To je tudi znak, da so drugi sodobnejši pristopi k razvoju spletnih aplikacij morda bolj usklajeni s trenutno Microsoftovo potjo, usmerjeno v oblak, ki temelji na .NET in sodobnih tehnikah razvoja aplikacij. Karkoli se odločite, imate na voljo veliko možnosti.

$config[zx-auto] not found$config[zx-overlay] not found