Programování

Konec řádku pro PHP ve Windows

PHP už nějakou dobu existuje, ale stále je to důležitý nástroj pro vývoj webu. V návaznosti na deklarativní model programování rozšiřuje PHP známou syntaxi HTML o další příkazy a funkce a přidává in-line programování a rozšíření do vašeho webového obsahu. Tento model z něj učinil důležitou součást mnoha systémů pro správu obsahu a poskytuje rámec pro správu obsahu dodávaného z databáze a formátování stránek pomocí dynamických šablon.

Budoucnost PHP v systému Windows

Mnoho z těchto CMS běží uvnitř podnikových firewallů, hostuje intranety a interní nástroje pro spolupráci. Není tedy překvapením, když vidíme, že oficiální Windows sestavení PHP pochází od Microsoftu, jako jednoho z nejdelších open-source projektů.

Ale všechny dobré věci končí a Microsoft nedávno oznámil, že nebude produkovat oficiální sestavení PHP 8 pro Windows. Doposud vydává verze Windows jako binární soubory a zdrojový kód na windows.php.net pro IIS a další webové servery Windows. To se však v budoucnu zastaví, protože tým poskytující Windows PHP staví na další projekty, protože PHP 7 prochází svým životním cyklem podpory.

Co tato změna zásad naznačuje pro budoucnost PHP v systému Windows? A co je důležitější, jaké jsou alternativy, pokud chcete využít příležitosti ke změně způsobu práce?

Ano, existuje budoucnost

Nejdůležitější a nejdůležitější je, že PHP pro Windows nezmizí. Je zcela jasné, že existuje více než dostatečná poptávka po tom, aby někdo pokračoval v budování a distribuci verze PHP pro Windows nad rámec PHP 7. Microsoft nebude přímo přispívat prostředky a servery pro sestavení, ale s větší pravděpodobností bude darovat licence a servery projekt PHP, aby bylo zajištěno, že přinejmenším bude sestavení systému Windows vycházet z automatizovaného procesu PHP CI / CD (průběžná integrace / průběžné doručování).

Bude na týmu PHP, aby vyvinul sadu dovedností systému Windows, aby zajistil, že budou spuštěny správné testy a že bude kód optimalizován správně, a to zajištěním toho, že se ve Visual Studio použije správné nastavení sestavení. Ačkoli by to nemělo být příliš těžké, není to stejné jako mít vyhrazené zdroje od jedné z největších softwarových společností na světě.

Alternativně existují i ​​jiné verze PHP pro Windows, vytvořené kombinací společností třetích stran s jejich vlastními nástroji PHP a od dobrovolníků vytvářených z open source codebase. Pokud chcete podporu, měli byste pravděpodobně zvolit komerční verzi PHP, zatímco otevřené verze jsou ideální pro sestavení vývojového prostředí Windows pro Windows.

Používání WSL pro vývoj PHP

Pokud hledáte alternativy, vlastní cloudová aplikační platforma Azure App Service společnosti Microsoft podporuje PHP, i když zde běží na Linuxu, ne na Windows. Pokud pro to vytváříte kód, je pravděpodobné, že v jádru vašeho vývojového procesu budete chtít verzi Linuxu pro Linux a zacílit ji pomocí nástrojů vzdáleného pracovního prostoru v Visual Studio Code. Existuje mnoho různých rozšíření PHP pro Code, od podpory IntelliSense po nástroje pro ladění a formátování kódu.

Instalace PHP do WSL (Windows Subsystem pro Linux) je dost snadná, se všemi závislostmi, které potřebujete, nainstalované prostřednictvím zvoleného správce balíčků. Instalace PHP do instance Ubuntu WSL nainstaluje a nakonfiguruje webový server Apache, takže můžete rychle přejít od psaní a testování kódu k jeho spuštění na produkčním webovém serveru. Instalace trvá několik minut a vše je připraveno ke spuštění uvnitř terminálu Windows a je přístupné z Visual Studio Code spuštěného uvnitř Windows. Nezáleží na tom, zda používáte WSL 1 nebo WSL 2, s oběma verzemi získáte téměř stejné zkušenosti.

Vzhledem k tomu, že na vašem vývojovém stroji běží instance Linux Linux, můžete nyní vytvořit aplikaci PHP a otestovat ji před nasazením do Azure App Services nebo na hostovaný webový server. Pokud používáte WSL 2, lze tento nový vývojový model použít s nejnovějšími verzemi Docker Containers, pomocí vašeho vývojového počítače vytvořit kód ve WSL a poté jej zabalit jako kontejner pro snazší nasazení na servery, ať už ve vaší síti, hostingová služba nebo veřejný cloud.

Používání PHP v Linuxu přes WSL bude pravděpodobně nejméně rušivou možností pro vývoj PHP v systému Windows, ale alternativním přístupem může být práce s modernějším modelem vývoje webu. Máte spoustu možností: buď zůstat v ekosystému Microsoft pomocí ASP.NET, nebo přejít na model pro více platforem založený na vývoji statického webu pomocí přístupů, jako je Jamstack.

Nové vývojové modely: .NET Blazor a Azure Static Web Apps

Jedna věc je jasná: deklarativní model vývoje webových aplikací používaný PHP nezanikne. Věrohodným argumentem pro konec oficiální podpory Microsoftu pro PHP je, že novější technologie Microsoftu vám mohou poskytnout podobné možnosti vývoje při použití méně zdrojů a stále fungující napříč platformami as plánem, který podporuje novější webové technologie.

ASP.NET Core je prostředí pro různé platformy, které k doručování komponent HTML a JavaScript používá kód .NET na straně serveru. V návaznosti na přenosný běhový modul .NET Core nabízí syntaxe Razor technologie ASP.NET Core deklarativní programovací techniky podobné PHP. Velký rozdíl však nastane, když jej použijete ve spojení s programovacím modelem Blazor na straně serveru.

Se zaměřením na jednostránkové webové aplikace provádí server Blazor Server na vašem webovém serveru kód ASP.NET a kompiluje obsah do předem vykreslených webových komponent s připojením Signal R mezi obsahem prohlížeče a back-end službami. Výhodou tohoto přístupu je, že vyžaduje relativně malou šířku pásma, a to na úkor určité latence s obousměrným připojením mezi serverem a prohlížečem potřebným pro každou interakci. Předběžné vykreslení obsahu tímto způsobem může pomoci uživatelům cítit, že aplikace reaguje lépe a interakce obnovují komponenty uživatelského rozhraní.

Nedávné spuštění Azure Static Web Apps jako součást Azure App Services přineslo nový způsob vytváření a používání webového obsahu do Azure a Windows. Budováním webů místně pomocí Visual Studio Code a hostováním obsahu v GitHubu vlastní akce GitHub nasadí aktualizovaný obsah do Azure. Weby jsou vytvářeny pomocí HTML, JavaScriptu na straně klienta a připojení API k databázím a dalším službám.

Stejně jako Blazor a PHP používá Jamstack přístup k designu stránek založený na šablonách, i když je méně vhodný pro tradiční CMS a více pro souborový obsah, který lze distribuovat prostřednictvím sítí pro doručování obsahu a používat je k ukládání obsahu do mezipaměti blíže vašim uživatelům. Web Azure Static Web Apps založený na obsahu můžete vytvořit pomocí technik Jamstack, ale musíte být připraveni znovu vytvořit celý web pokaždé, když publikujete nový obsah.

Konec podpory společnosti Microsoft pro vlastní sestavení PHP není katastrofou. Je to známka toho, že se priority Redmondu změnily; technologie jako WSL a Linux hostovaný Azure nabízejí alternativní cesty k vytváření a spouštění kódu PHP.

Je to také známka toho, že další, modernější přístupy k vývoji webových aplikací mohou být více sladěny se současnou cestou společnosti Microsoft zaměřenou na cloud, vycházející z .NET a na moderních technikách vývoje aplikací. Ať se rozhodnete udělat cokoli, máte spoustu možností.