סוף השורה עבור PHP בחלונות

PHP אולי היה קיים זמן מה, אך זה עדיין כלי חשוב לפיתוח אתרים. בהסתמך על מודל הצהרתי של תכנות, PHP מרחיב את תחביר ה- HTML המוכר עם פקודות ופונקציות נוספות, ומוסיף תכנות מקוון והרחבות לתוכן האינטרנט שלך. מודל זה הפך אותו לחלק חשוב ממערכות רבות של ניהול תוכן, המספק מסגרת לניהול תוכן המועבר על בסיס נתונים ועיצוב דפים באמצעות תבניות דינמיות.

העתיד של PHP ב- Windows

רבים מאותם CMS פועלים בתוך חומות אש ארגוניות, מארחים אינטרא-נט וכלי שיתוף פעולה פנימיים. לכן זה לא מפתיע לראות שהבניית Windows הרשמית של PHP מגיעה ממיקרוסופט, כאחד הפרויקטים הקודמים הפתוחים שלה.

אך כל הדברים הטובים מסתיימים, ומיקרוסופט הודיעה לאחרונה כי לא תייצר בנייה רשמית של PHP 8 עבור Windows. עד כה היא מספקת מהדורות Windows כקבצים בינאריים וקוד מקור ב- windows.php.net עבור IIS ושרתי אינטרנט אחרים של Windows. עם זאת, זה ייפסק בעתיד, כאשר הצוות המספק את Windows PHP בונה עובר לפרויקטים אחרים כאשר PHP 7 עובר את מחזור חיי התמיכה שלו.

מה מציע שינוי מדיניות זה לעתיד ה- PHP ב- Windows? וחשוב מכך, מהן החלופות אם ברצונך לנצל את ההזדמנות לשנות את אופן העבודה שלך?

כן, יש עתיד

ראשית, והכי מכריעה, PHP עבור Windows לא ייעלם. ברור מאוד שיש יותר ממספיק ביקוש שמישהו ימשיך לבנות ולהפיץ גרסת Windows של PHP מעבר ל- PHP 7. מיקרוסופט לא תתרום ישירות משאבים ושרתים לבניית ה- build, אך סביר להניח שהיא תתרום רישיונות ושרתים ל פרויקט ה- PHP כדי להבטיח שלכל הפחות, בניית Windows תצא מתהליך ה- CI / CD האוטומטי של PHP (אינטגרציה רציפה / מסירה רציפה).

זה יהיה על צוות ה- PHP לפתח מערך מיומנויות של Windows כדי להבטיח שהבדיקות הנכונות מופעלות והקוד מותאם כהלכה, על ידי הקפדה על שימוש בהגדרות הבנייה הנכונות ב- Visual Studio. למרות שזה לא אמור להיות קשה מדי, זה לא אותו דבר שיש משאבים ייעודיים של אחת מחברות התוכנה הגדולות בעולם.

לחלופין, קיימות גרסאות חלונות אחרות של PHP, שנבנו על ידי שילוב של חברות צד שלישי עם כלי PHP משלהן וממתנדבים הבונים מבסיס הקוד הפתוח. אם אתה רוצה תמיכה, סביר להניח שאתה צריך לבחור בגרסת PHP מסחרית, ואילו בנייה פתוחה אידיאלית להרכבת סביבת פיתוח של Windows PHP.

שימוש ב- WSL לפיתוח PHP

אם אתם מחפשים חלופות, פלטפורמת היישומים המתארחת בענן של Azure App Service של מיקרוסופט משלה תומכת ב- PHP, אם כי כאן היא פועלת בלינוקס, ולא ב- Windows. אם אתה בונה קוד לשם כך, סביר להניח שתרצה גרסת לינוקס של PHP בלב תהליך הפיתוח שלך, ותמקד בו באמצעות כלי מרחוק העבודה המרוחקים בקוד Visual Studio. ישנן הרחבות PHP רבות ושונות עבור קוד, מתמיכת IntelliSense וכלים לאיתור באגים וקודים.

התקנת PHP ב- WSL (Windows Subsystem for Linux) היא קלה מספיק, עם כל התלות שאתה צריך מותקנת דרך מנהל החבילות שבחרת. התקנת PHP במופע WSL של אובונטו תתקין ותצורה תצורה של שרת האינטרנט Apache, כך שתוכל לעבור במהירות מכתיבת ובדיקת קוד להפעלתו בשרת אינטרנט ייצור. ההתקנה אורכת מספר דקות, כאשר הכל מוכן להפעלה בתוך מסוף Windows ונגיש מקוד Visual Studio הפועל בתוך Windows. לא משנה אם אתה משתמש ב- WSL 1 או WSL 2, אתה מקבל את אותה חוויה עם כל אחת מהגרסאות.

כאשר מופע לינוקס PHP פועל במכונת הפיתוח שלך, אתה יכול לבנות יישום PHP ולבדוק אותו לפני פריסתו לשירותי יישומים של Azure או לשרת אינטרנט מתארח. אם אתה משתמש ב- WSL 2, ניתן להשתמש במודל פיתוח חדש זה עם המהדורות האחרונות של Docker Containers, באמצעות מחשב הפיתוח שלך כדי לבנות קוד ב- WSL ואז לארוז אותו כמיכל לפריסה קלה יותר לשרתים, או ברשת שלך, שירות אירוח, או הענן הציבורי.

השימוש ב- PHP בלינוקס באמצעות WSL עשוי להיות האפשרות הפחות מפריעה לפיתוח PHP ב- Windows, אך גישה חלופית עשויה להיות עבודה עם מודל פיתוח אתרים מודרני יותר. יש לך הרבה אפשרויות: או להישאר במערכת האקולוגית של מיקרוסופט באמצעות ASP.NET או לעבור למודל חוצה פלטפורמות המבוסס על פיתוח אתרים סטטי תוך שימוש בגישות כגון Jamstack.

דגמי פיתוח חדשים: .NET Blazor ו- Azure Static Web Apps

דבר אחד ברור: המודל לפיתוח יישומי אתרים הצהרתי המשמש PHP אינו נעלם. טיעון מתקבל על הדעת לסיום התמיכה הרשמית של מיקרוסופט ב- PHP הוא שטכנולוגיות חדשות יותר של מיקרוסופט יכולות לתת לך אפשרויות פיתוח דומות, תוך שימוש בפחות משאבים ועדיין עובדים בפלטפורמות שונות, ועם מפת דרכים התומכת בטכנולוגיות אינטרנט חדשות יותר.

ASP.NET Core היא סביבה חוצה פלטפורמות המשתמשת בקוד .NET בצד השרת כדי לספק רכיבי HTML ו- JavaScript. תחביר ה- Razor של ASP.NET Core, המתבסס על זמן הריצה הנייד של .NET Core, מציע טכניקות תכנות הצהרתיות בדומה ל- PHP. עם זאת, ההבדל הגדול מגיע כאשר משתמשים בו בשילוב עם מודל התכנות Blazor בצד השרת.

תוך התמקדות ביישומי אינטרנט של עמודים בודדים, שרת Blazor מבצע קוד ASP.NET בשרת האינטרנט שלך, ומאגד תוכן לרכיבי אינטרנט שהוצגו מראש עם חיבור Signal R בין תוכן הדפדפן לשירותי Back-end. לגישה זו יש יתרון בכך שהיא דורשת רוחב פס קטן יחסית, על חשבון זמן אחזור עם חיבור הלוך ושוב בין שרת לדפדפן הדרוש לכל אינטראקציה. עיבוד מקדים של תוכן בצורה זו יכול לעזור למשתמשים להרגיש שאפליקציה מגיבה יותר, כאשר אינטראקציות מרעננות את רכיבי ממשק המשתמש.

ההשקה האחרונה של Azure Static Web Apps כחלק משירותי App של Azure הביאה דרך חדשה ליצירת ושימוש בתוכן אינטרנט ל- Azure ו- Windows. על ידי בניית אתרים באמצעות קוד Visual Studio ואירוח תוכן ב- GitHub, פעולת GitHub מותאמת אישית פורסת תוכן מעודכן ל- Azure. האתרים בנויים באמצעות חיבורי HTML, JavaScript בצד הלקוח וחיבורי API למסדי נתונים ושירותים אחרים.

כמו Blazor ו- PHP, Jamstack נוקטת גישה מונחית תבנית לעיצוב אתרים, אם כי היא פחות מתאימה ל- CMSes מסורתיים ויותר לתוכן מבוסס קבצים שניתן להפיץ באמצעות רשתות מסירת תוכן, ולהשתמש בהם במטמון תוכן קרוב יותר למשתמשים שלך. אתה יכול לבנות אתר מבוסס יישומי Azure Static מבוסס תוכן בטכניקות Jamstack, אך עליך להיות מוכן לבנות מחדש את האתר כולו בכל פעם שאתה מפרסם תוכן חדש כלשהו.

סיום התמיכה של מיקרוסופט בבניית PHP משלה אינו אסון. זה סימן לכך שסדרי העדיפויות של רדמונד השתנו; טכנולוגיות כגון WSL ו- Linux המתארחות בתכלת הרקיע מציעות נתיבים חלופיים לבניית והפעלת קוד PHP.

זהו גם סימן לכך שגישות אחרות ומודרניות יותר לפיתוח יישומי אינטרנט עשויות להיות מתואמות יותר עם הנתיב הנוכחי של מיקרוסופט, המבוסס על .NET ועל טכניקות פיתוח אפליקציות מודרניות. לא משנה מה תחליט לעשות, יש לך הרבה אפשרויות.