PHP 7 10 أشياء تحتاج إلى معرفتها
هل أنت مطور ويب أو مالك موقع؟ هل تعمل مواقعك على CMS يدعم PHP مثل WordPress أو Drupal أو Joomla أو Magento؟ ثم لدي أخبار جيدة لك: النسخة التجريبية كاملة الميزات الجديدة تم إصدار PHP 7 مؤخرًا. يحتوي الإصدار 7.0.0 الرئيسي على العديد من الميزات الرائعة التي قررنا تكريس نشر كامل لها. لكن أولاً ، نحتاج إلى الانزلاق في بضع تذكيرات.
لاحظ أن PHP 7 لا يزال في مرحلة التطوير لا تستخدمه في الإنتاج حتى نوفمبر عندما الاصدار الاخير سيتم الافراج. إذا كنت - كمستخدم مستقبلي - ترغب في الحصول على حصتك العادلة من عملية التطوير ، فيمكنك المساعدة في تنزيل أحدث إصدار تجريبي ، والتغلب عليه في بيئة الاختبار الخاصة بك والإبلاغ عن الأخطاء التي عثرت عليها أثناء الاختبار. لمعرفة موعد انتهاء النسخة التجريبية التالية ، إليك الجدول الزمني للمشروع.
مع هذا الطريق ، دعنا نتحقق من PHP 7.
1. الاسم PHP 7 (ليس 6)
يستخدم الإصدار الثابت الحالي رقم الإصدار PHP 5.6. بعد بعض الخلافات ، قرر فريق التطوير حذف اسم PHP 6 للإصدار الرئيسي التالي. كان PHP 6 موجودًا بالفعل في الماضي كمشروع تجريبي ولكنه لم يصل إلى مرحلة الإنتاج.
لمنع المستخدمين من خلط المحاولة السابقة مع أحدث التطورات ، سيتم تشغيل الإصدار الرئيسي الجديد باسم PHP 7.
2. العلامة التجارية الضرب محرك جديد زند
يعمل محرك Zend على تشغيل PHP منذ عام 1999 عندما تم طرحه مع إصدار PHP 4 الجديد آنذاك. Zend - وليس الخلط بينه وبين Zend Framework - هو محرك تنفيذ مفتوح المصدر مكتوب بلغة C يفسر لغة PHP. استخدام سلسلة PHP 5.X الحالية محرك Zend II التي عززت funtionality من المحرك الأولي ويضيف نموذج كائن الموسعة و تعزيز أداء كبير إلى اللغة.
يتلقى PHP 7 إصدارًا جديدًا من المحرك تحت الاسم الرمزي لـ PHP # NG (الجيل التالي).
3. مرتين السرعة
تتمثل الميزة الأكثر سهولة في التعرف على محرك PHPNG الجديد في تحسين الأداء. قام فريق التطوير في PHPNG بإعادة تشكيل محرك Zend Engine واستخدام الذاكرة بشكل ملحوظ.
نتائج؟ يمكنك الاطلاع على معايير الأداء المقدمة من فريق أداء Zend أدناه. باستخدام PHP 7 ليس فقط سيتم تنفيذ الرمز الخاص بك بشكل أسرع لكنك سوف أيضا بحاجة إلى خوادم أقل لخدمة نفس القدر من المستخدمين.
4. يسهل معالجة الأخطاء
على أقل تقدير ، لم تكن معالجة الأخطاء القاتلة والمميتة مهمة سهلة لمشفرات PHP. الجديد استثناءات المحرك سوف تسمح لك باستبدال هذا النوع من الأخطاء مع استثناءات. إذا لم يتم اكتشاف الاستثناء ، فسوف يستمر PHP في إرجاع نفس الأخطاء القاتلة كما هو الحال في سلسلة 5.X الحالية.
الجديد \ EngineException الكائنات لا تمتد \استثناء الطبقة الأساسية. هذا يضمن التوافق العكسي وينتج نوعين مختلفين من الاستثناءات في معالجة الأخطاء: تقليدي و استثناءات المحرك.
لتمكين المبرمجين من الحصول على كليهما ، يقدم PHP 7 برنامجًا جديدًا الطبقة الأصل المشتركة تحت اسم \ BaseException.
5. 64 بت دعم أنظمة ويندوز
يعد PHP عضوًا بارزًا في LAMP stack مما يعني أن بيئته الأصلية هي Linux - لكن يمكن تشغيلها أيضًا على نظام Windows. لا توفر سلسلة 5.X بعد عددًا صحيحًا من 64 بت أو دعمًا للملفات الكبيرة ، لذلك تم اعتبار إنشاء x64 حتى الآن تجريبي.
سوف PHP 7 تغيير هذا كما هو يقدم دعم 64 بت ثابت مما يعني أنه سيتم دعم كل من الأعداد الصحيحة 64 بت الأصلية والملفات الكبيرة ، مما يتيح لك تشغيل اللغة بثقة على نظام Windows 64 بت في المستقبل.
6. سفينة الفضاء الجديدة ومشغلي التلاشي
ال مشغل سفينة الفضاء يعمل تحت الاسم الرسمي لمشغل المقارنة المدمجة. يبدو تدوين المشغل الجديد كما يلي: <=>
(نوع من مثل سفينة الفضاء مبسطة ، إذا كنت تتخيل ذلك بشكل صحيح).
يُرجع مشغل سفينة الفضاء 0 إذا كان كلا المعاملتين متساويين ، 1 إذا كان اليسار أكبر ، و -1 إذا كان اليمين أكبر. وتسمى أيضا أ مشغل مقارنة ثلاثي, وهو موجود بالفعل في لغات البرمجة الشعبية الأخرى مثل بيرل وروبي.
يشار إلى عامل التشغيل Null Coalescing مع علامتي استفهام (؟؟). يمكنك استخدامه عندما تريد التحقق من وجود شيء ما وإرجاع قيمة افتراضية ، في حالة عدم وجوده. إرجاع عامل التشغيل المتزامن نتيجة المعامل الأول الخاص به إذا كان موجودًا وليس فارغًا ، والمعامل الثاني في أي حالات أخرى.
إليك كيفية قيام المشغل الجديد بتقليل الوقت المستغرق في الإعلانات الأساسية:
7. تمكن تصريحات دقيقة النوع
هل أردت يومًا منع قيم الإرجاع غير المقصودة بإعلان نوع الإرجاع للدالة؟ حسنًا ، يمكّن PHP 7 الجديد المطورين من تحسين جودة الكود الخاص بهم بمساعدة إعلانات نوع الإرجاع.
الصورة أدناه تصور حالة استخدام بسيطة للغاية حيث فو () وظيفة من المفترض أن تعود مجموعة. تحقق من الأمثلة الأكثر تعقيدا هنا.
لتحسين الميزة أكثر من ذلك ، يقدم PHP 7 4 تعريفات نوع جديد لأنواع العددية: كثافة العمليات ، تعويم ، سلسلة و منطقي. تتيح الأنواع العددية الجديدة للمطورين الإشارة إلى أنهم يتوقعون إرجاع أعداد صحيحة أو عوامات أو سلاسل أو منطقية. سيتم دعم الأنواع القياسية الجديدة المقدمة من PHP 7 أيضًا بواسطة تلميحات Type للوسيطة التي تمكن المطورين من فرض نوع المعلمات منذ سلسلة PHP 5.X.
8. يضيف صفوف مجهولة
يمكّنك PHP 7 من استخدام فصول مجهولة الهوية ، وهي بالفعل ممارسة راسخة بلغات أخرى موجهة للكائنات مثل C # و Java. فئة مجهولة هي فئة بدون اسم. الكائن الذي يشبهه لديه نفس الوظيفة ككائن من فئة مسمى.
بناء الجملة هو نفسه ما اعتدنا عليه في فصول PHP التقليدية ، فقط الاسم مفقود. إذا تم استخدام الطبقات المجهولة بشكل جيد ، فيمكنهم ذلك تسريع الترميز وكذلك وقت التنفيذ. تكون الفئات المجهولة ممتازة عندما يتم استخدام الفصل مرة واحدة فقط أثناء التنفيذ وفي الحالات التي لا يحتاج فيها الفصل إلى توثيق.
9. يسهل الواردات من نفس مساحة الاسم
ستكون ميزة Group Use Declarations الجديدة بمثابة إلهام لمن يرغبون في ذلك استيراد العديد من الفئات من نفس مساحة الاسم. بناء الجملة الجديد يخفف من اللامع ، ويجعل الكود أكثر نظافة وأسهل على العيون ، ويوفر لك الكثير من وقت الكتابة.
سيكون من الأسهل أيضًا قراءة الرموز وتصحيحها ، حيث أن إعلانات الاستخدام الجماعي تساعدك في تحديد الواردات التي تنتمي إلى نفس الوحدة النمطية.
10. ينظف الغرفة
كان الهدف من PHP 7 هو توفير المساحة لإتاحة التحسين ، لذلك كان من الضروري التخلص من العديد من الوظائف المهملة وإضافات واجهات برمجة التطبيقات للملقمات القديمة وغير المدعومة. إذا كنت تريد التحقق من هذه التفاصيل ، انقر هنا وهنا.
تم إهمال جميع العناصر التي تمت إزالتها لفترة من الوقت في PHP 5 ، لذا فمن الأرجح أنك لم تستخدمها لفترة طويلة. ومع ذلك ، يرجى ملاحظة ما إذا كان لديك تطبيق قديم يعمل على الإصدارات القديمة PHP PHP 7 الجديد يمكن يحتمل كسر الرمز.