ما الجديد في 7 PHP ؟
جاء عام 2015 بحدث مهم لمستخدمي PHP، فبعد استخدان لها دام أحد عشر عامًا بعد إصدار PHP 5.0 تم إطلاق الإصدار
الجديد ألا وهو PHP 7.وسنجرد لكم في هذا الدرس كل ما هو جديد في PHP 7 من خصائص و مميزات .
لكن أين هو إصدار PHP 6 ؟ اين اختفى ؟ الم يصدر لحد الساعة ؟ إذا لم تعمل منذ فترة على PHP، فربما تتساءل ما الذي حدث
لإصدار PHP 6، لماذا قفزوا مباشرةً من PHP 5 إلى PHP 7؟
ان الجواب باختصار هو الفشل الذريع في PHP 6. فميزة الاصدار السادس 6 هي الدعم المضمن لمحارف يونيكود وذلك لأن
PHP تستخدَم بشكل رئيسي في تطوير الويب، وستحتاج في عملك إلى استخدام محارف يونيكود في الويب، ولهذا كان التوجه
الأساسي هو جلب دعم محارف يونيكود إلى PHP. للأسف، واجهت تلك الخطة الطموحة مشاكل أكبر من تلك المتوقعة، فكان من
المفترض تحويل جزء كبير من الشيفرة البرمجية لكي تدعم محارف يونيكود في أساس اللغة وفي الإضافات (extensions)
المهمة، لكن تلك المهمة كانت مملة وصعبة؛ وهذا ما أبطأ من تطوير الميزات الأخرى في اللغة، مما أزعج الكثير من مطوري
PHP. وبعد فترة ظهرت عقباتٌ أخرى أدّت إلى تقليل الاهتمام بتطوير دعم مُضمّن (أي مدمج في اللغة) لمحارف يونيكود؛ مما أدى
في النهاية إلى إيقاف العمل على المشروع. لكن كُتِبَت مقالات وكتب عن PHP 6 ودعمها لمحارف يونيكود قبل إيقاف المشروع،
لهذا سُمِّي الإصدار الجديد PHP 7 لرفع الالتباس. حسنًا، لنترك الماضي ولننظر ما الذي أتت به PHP 7 .
تحسينات في الأداء
أحد الأسباب التي ستجعلك تستعمل PHP 7 في خوادمك هي تحسينات الأداء التي أتت بها PHP 7 ، حيث أشارت الإحصائيات
الرسمية إلى أن غالبية التطبيقات العملية التي تستعمل PHP 5.6 ستعمل أسرع بضعفين لو استخدمت PHP 7. يمكنك إلقاء نظرة
على العرض الذي قدمه Rasmus Lerdorf لتفاصيل أكثر عن الإحصائيات حول الأداء، هذه صورة تُظهِر نتائج تشغيل
ووردبريس على مختلف إصدارات PHP:
كما تستطيع PHP 7 معالجة ضعف الطلبيات في الثانية ،الشيء الذي يمثل عمليا
تحسينا قدره 100% في الأداء على المواقع التي
تستعمل ووردبريس.
هنالك أيضا تحسينات في مقدار استهلاك PHP 7 للذاكرة، حيث أن تحسين البنى
الداخلية للغة كان أحد الأسباب التي أدت إلى
تحسين الأداء وتقليل استخدام الذاكرة لتفسير الشيفرات.
الميزات الجديدة
لنتحدث عن أكثر الميزات إثارةً التي ستجدها في التحديث إلى PHP 7.
معاملين جديدين يمكنك استخدام معامل spaceship(<=> أو معامل المقارنة
المدمج) لجعل تعبير المقارنة أقصر ما يمكن. انظر إلى هذا المثال :
a<=>b
ستكون نتيجة التعبير السابق 1- إن كان a$ أصغر من $b، و 0 إذا كان $aيساوي
$b، و 1 إذا كان $a أكبر من $b. ويمكن
اعتباره اختصارًا للتعبير الآتي:
(a < b)? -1 : ((a > b) ? 1 : 0))
تحديد أنواع المعاملات والقيم المعادة
احدى أهم الميزات الجديدة التي أتت بها PHP 7 هي تحديد أنواع معاملات (parameters) للدوال .
التي تعني أنَّنا تستطيع تحديد ما هو نوع المعامل الذي ستقبله الدالة والذي سيكون إما
int (للأعداد الصحيحة) أو float (للأعداد العشرية) أو string (للسلاسل النصية) أو bool (للقيم المنطقية true أو false أو ما يكافئها).
لا يكون الالتزام بأنواع المعاملات المُحدَّدة إجباريًا افتراضيًا، أي non-strict، وهذا يعني لو مررت (int(1 إلى دالة تتطلب عددًا
عشريًا (float) فستصبح قيمة الوسيط الممرر (float(1.0 تلقائيًا، أما لو مررت (float(1.5 إلى دالة تتطلب عددًا صحيحًا (int)،
فعندها ستصبح القيمة (int(1.
أصبحت PHP 7 تدعم ايضا محرف تهريب (escaping) جديد هو \u الذي يسمح لنا باستعمال محارف يونيكود (بالنظام
الست عشري) داخل سلاسل PHP النصية، ويستعمل بالشكل {\u{CODE، المثال الآتي يُظهِر رمز القلب:
;”{echo “\u{1F49A
بالتوفيق
ردحذفشكرا لك ^^
حذفأشكرك على الشرح وكنت أتمنى الاستفاضة أكثر
ردحذف