אם הפיל של PHP נראה שמח במיוחד היום, יש לו סיבה ממש טובה לשמוח – אחרי שנים של המתנה, ויכוחים אין סופיים על כל מה שאפשר להתווכח עליו ואין סוף שעות פיתוח, קהילת ה – PHP משחררת היום גרסה רשמית וסופית של PHP 7.
רוב הסיכויים שאתם קוראים שורות אלו אחרי שהגרסה הפכה לזמינה ב – http://php.net אבל גם אם לא, מדובר על שעות ספורות לפני ההוצאה הרשמית של גירסה היסטורית זו.
על מה כל הרעש?
מי שעוקב אחרי PHP, בטח שם לב לעובדה שהגרסה המג׳ורית האחרונה של PHP (גרסה 5) יצאה ביולי 2004! לא מצב בלתי מתקבל על הדעת בעולם שפות התכנות אבל עדיין מדובר בנצח. רק לשם השוואה, פיירפוקס הוצג לעולם 4 חודשים מאוחר יותר וגוגל כרום עוד לא היה אפילו בשא״ש.
תוסיפו לזה את העובדה ש – PHP נמצאת במאבק תמידי מול שפות חדשות יותר (ובעיקר מגניבות יותר) ופרויקט של facebook בשם HHVM, שלוקח את PHP ומלביש עליה ביצועים של מטוס קרב ותבינו למה השדרוג הזה כל כך חשוב להמשך קיומה של השפה (ושליטתה בשוק כאחת משלוש השפות הפופולריות ל- Web).
מה קרה ל – PHP 6?
קודם כל זאת לא טעות. אחרי מספר שנים של נסיונות לפתח את גרסת PHP 6, הכוללת תמיכה של השפה ב – Unicode, הפרויקט נזנח (בגלל מחסור בכח אדם ובעיקר מחוסר עניין לציבור). למי שרוצה להבין את הפרטים מאחורי ההחלטה, מוזמן לצפות בשקפים של Andrei Zmievski, אחד ממובילי הפיתוח של PHP 6. ויכוח ארוך וסוער בקהילת ה – PHP הביא להחלטה סופית (בהצבעה דמוקרטית 58 מול 24) לדלג על גרסה 6 ולקרוא לגרסה הבאה PHP 7.
מה החידוש העיקרי ב – PHP 7?
יש המון שינויים וחידושים ב – PHP 7 אבל החשוב והבולט ביותר לעין הוא ביצועי המערכת.
ביצועים
קודם כל מדובר על שכתוב מלא של מנוע ה – Zend Engine, הנמצא מאחורי PHP. גרסה 3 של המנוע פותחה מפרויקט הנקרא phpng, שמטרתו הייתה לשפר את ביצועי השפה בצורה משמעותית. בדיקות ראשוניות של phpng הראו שיפור של 100% בביצועים של אפליקציית ה – PHP הכי פופולרית כיום, WordPress ובמקרים מסויימים אף מעבר לזה. לקראת סוף תהליך הפיתוח, PHP 7 מראה ביצועים טובים משמעותית מ- PHP 5.6 (הגרסה החדשה ביותר) ומתחרה בכבוד ואף עוקפת את פרויקט ה – HHVM של facebook שהשאיר אבק ל – PHP רגיל בשנים האחרנות.
ההשואה בגרף מתארת את שיפור הביצועים של PHP 7 על פני 5.6 במספר אפליקציות ו – frameworks פופולריים:
בנוסף לביצועים משופרים, PHP 7 אמורה להקטין בצורה משמעותית את צריכת הזיכרון וזאת באמצעות שיפורים שנעשו במבני הנתונים הפנימיים של השפה.
Backwards (in)Compatibility
אז למרות שנעשו מאמצים רבים לשמור על תאימות השפה לגרסאות קודמות, עדיין לא מעט קטעי קוד (בעיקר ישנים וכאלו שהסתמכו על deprecated functionality מגרסאות קודמות), הולכים להישבר. כמו כן, הוסרה התמיכה בפתיחת קוד בסגנון ASP או JS כגון <%=, <% ותגי script language=php. אם אתם שוקלים לעבור ל – PHP בקרוב, קחו את הזמן ושחקו עם הקוד שלכם במערכת החדשה. יש לא מעט דרכים להריץ PHP 7 כבר היום בקלות ובמהירות, מבלי לגעת בסביבת ה – Production הקיימת שלכם.
מי שמחפש את רשימת השינויים המלאה, יכול למצוא אותה בתעוד של PHP 7.
אז היום מתחיל עידן חדש בעולם ה – PHP. כמי שמלווה את השפה הזאת ב – 15 שנים האחרנות, אני ממש סקרן לראות לאיזה כיוון השינויים האחרונים יקחו אותנו.
Happy PHPing!