PHP Digest No. 149 (28 يناير - 11 فبراير 2019)


اختيار جديد مع روابط إلى الأخبار والمواد. في الإصدار: PHPUnit 8 والإصدارات الأخرى ، بدأت PSR-14 و PSR-12 في مرحلة المراجعة ، JIT for PHP ، العمل على PHP 8 ، ومجموعة من RFC جديدة من PHP Internals ، وجزء من الأدوات المفيدة ، وأكثر من ذلك بكثير.

هل لديك قراءة لطيفة!



الأخبار والإصدارات



PHP الداخلية


  • تم إنشاء فرع PHP-7.4 ، ويستهدف مستودع PHP الرئيسي الآن PHP 8.0. هذا يعني أن العمل على PHP 8.0 قد بدأ بالفعل ، وسيتم تطوير PHP 7.4 بالتوازي. لذلك ، في PHP 8 ، تم بالفعل إزالة مجموعة كاملة من الميزات القديمة .
  • [RFC] JIT - لقد وجدت فكرة قديمة مع JIT في PHP أخيرًا تنفيذ بفضل جهود Dmitry Stogov. يتم تطبيق JIT كجزء مستقل من OPcache ، ويمكن تشغيله / إيقاف تشغيله حتى في وقت التشغيل. يعتبر PHP 8 هو الإصدار المستهدف ، ولكن من الممكن تضمينه في PHP 7.4 كميزة تجريبية تم تعطيلها افتراضيًا. وفقًا لمعايير نيكيتا بوبوف ، توفر JIT زيادة بنسبة 30٪ لـ PHP-Parser وحوالي 5٪ لـ amphp / http-server . لا يوجد حاليًا دعم Windows ، وهو أمر مثير للجدل في Internals.
    في غضون ذلك ، يمكنك بالفعل تجربة PHP + JIT باستخدام صور Docker (شكرًا dmitrybalabka ). أيضا وظيفة كبيرة حول ما يعني JIT لمستخدمي PHP .
  • [RFC] أخطاء نوع متسقة للوظائف الداخلية - RFC آخر من نيكيتا بوبوف. يُقترح أن تقوم جميع الوظائف المدمجة في PHP 8 بإلقاء TypeError عندما يتم تمرير معلمات النوع الخطأ بدلاً من vorning والعودة null .
    النص المخفي
    بدلا من ذلك:
     var_dump(strlen(new stdClass)); // Warning: strlen() expects parameter 1 to be string, object given // NULL 

    سوف يكون:

     declare(strict_types=1); var_dump(strlen(new stdClass)); // TypeError: strlen() expects parameter 1 to be string, object given 

  • [RFC] سير العمل والتصويت RFC (تحديث 2019) - في محاولة لتشديد التصويت RFC إلى حد ما والبيروقراطية عملية واجهت عاصفة من النقد في Internals. لقد ظهرت اقتراحات بديلة . وعد زئيف سورسكي بمراجعة روايته وأخذ النقد بعين الاعتبار.
  • [RFC] Weak References - يُقترح إضافة فئة WeakReference لتنفيذ الروابط الضعيفة ، مما سيسمح للمطور بحفظ الرابط إلى الكائن ، بينما لا يمنع إزالته بواسطة أداة تجميع مجمعي البيانات المهملة. قد يكون هذا مفيدًا بشكل خاص لجميع أنواع ذاكرات التخزين المؤقت.
  • [RFC] السماح بتغير نوع الإرجاع الفراغ - اقتراح لتطبيق القدرة على تجاوز نوع الإرجاع void في طرق الوريث. ظهرت على درب تغيير توقيع طريقة setUp() والعديد غيرها في PHPUnit 8.
    النص المخفي
     class Foo { function method1 (): void {} function method2 () {} } class Bar extends Foo { function method1 (): array { return []; } function method2 (): array { return []; } } class Baz extends Foo { function method1 () { return 42; } function method2 () { return 42; } } 
  • [RFC] typhint مختلطة - وهنا يُقترح إضافة typhint mixed . سيشير هذا إلى أن الوظيفة يمكنها قبول (أو إرجاع) قيم الأنواع المختلفة.
  • [RFC] التعليقات التوضيحية 2.0 - مسودة اقتراحات للتعليقات التوضيحية الكاملة. كانت هناك بالفعل محاولات لتنفيذ التعليقات التوضيحية والسمات البسيطة . في غضون ذلك ، يمكنك استخدام البرنامج المساعد للتعليق التوضيحي الممتاز في PhpStorm .

الأدوات



سيمفوني



لارافيل



يي



متزامن php



CMS



مواد التعلم



شكرا لاهتمامكم!

إذا لاحظت خطأ أو عدم دقة - يرجى إعلامي في مساء .
أسئلة واقتراحات الكتابة إلى البريد أو تويتر .

المزيد من الأخبار والتعليقات على PHP Digest Telegram Channel.

إرسال الرابط
البحث عن روابط لجميع الهضم
الإصدار السابق: PHP Digest No. 148

Source: https://habr.com/ru/post/ar439780/


All Articles