PHP Digest No. 155 (22 أبريل - 6 مايو 2019)


اختيار جديد مع روابط إلى الأخبار والمواد. في الإصدار: تحديثات PHP و Codeception 3.0 والإصدارات الأخرى و lambdas القصيرة في PHP 7.4 ونظرة عامة على أحدث جمل RFC من PHP Internals ، وجزء من الأدوات المفيدة ، وأكثر من ذلك بكثير.

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



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


  • PHP 7.3.5
  • PHP 7.2.18
  • PHP 7.1.29
  • Codeception 3.0 - وحدة تحكم تفاعلية محسّنة ، كرر الخطوات ، دعم PHPUnit 8 والمزيد.
  • spiral / roadrunner 1.4.0 - تحديث خادم التطبيق ، الموازن وإدارة العمليات على الذهاب. يتضمن الإصدار نقطة توقف آمنة للعمال ، ودعم متغيرات البيئة في التكوينات ، والقدرة على التحكم في العمال في التجمع ، وأكثر من ذلك. هناك موقع ويب جديد roadrunner.dev .
  • PHP روسيا 2019 - 17 مايو ، موسكو ، انفوسبيس. تبقى بضعة أيام فقط حتى آخر زيادة في الأسعار.

PHP الداخلية


  • [RFC] وظائف السهم 2.0 - لقد مر الاقتراح بالتصويت وقبله. الآن في PHP ، ستكون هناك وظائف قصيرة مجهولة باستخدام بناء الجملة fn() => والتقاط المتغيرات تلقائيًا من نطاق خارجي حسب القيمة:
     $y = 1; $fn = fn($x) => $x + $y; 

    حتى الآن ، يمكن أن يكون للوظائف تعبير واحد فقط بدقة ، وسيتم إرجاع النتيجة. يمكن تنفيذ وظائف متعددة الخطوط في وقت لاحق. الاختراق باستخدام && operator كما هو الحال في JS لن يعمل:
    النص المخفي
     andOperator = ($x) => ($y = 10) && $x + $y; console.log(andOperator(5)); // 15 
     $andOperator = fn($x) => ($y = 10) && $x + $y; var_dump($andOperator(5)); // bool(true) 
    ولكن يمكنك تطبيق الاختراق باستخدام end() :
    النص المخفي
     <?php function last(...$args) { return end($args); } $multipleLines = fn($x) => last( $y = $x * 10, // 10 $z = $y + 15, // 25 $x + $y + $z // 1 + 10 + 25      last() ); var_dump($multipleLines(1)); // int(36) 

    أو باستخدام array_slice() ، بفضل Grikdotnet للنصيحة :
    النص المخفي
     $multipleLines = fn($x) => array_slice([ $y = $x * 10, $z = $y + 15, $x + $y + $z ], -1)[0]; var_dump($multipleLines(1)); // int(36) 

  • [RFC] إهمال علامات PHP القصيرة المفتوحة - تناول الاقتراح فكرة إزالة إمكانية استخدام العلامات القصيرة <? ومع ذلك ، فقد قوبلت بعاصفة من السخط والجدل. لذلك ، تم اقتراح طريقة أكثر اعتدالًا ، حيث تظل الفرصة متاحة في الإصدارات التالية كما هي ، وسيتم طرح تحذير إهمال.
  • [RFC] Spread Operator في Array Expression - اقتراح مقبول بالإجماع تقريبًا. المشغل ... سيكون متاحًا الآن في المصفوفات.
    النص المخفي
     $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; 
    أيضًا ، باستخدامه ، يمكنك تحويل مكرر بسرعة إلى صفيف بدلاً من استخدام iterator_to_array :
     $array = [...$iter]; 
  • RFC: السماح برمي الاستثناءات من __toString () - تواصل Nikita إصلاح "حزن PHP" بشكل فردي . نتحدث هذه المرة عن القدرة على وضع استثناء في __toString() . تحسين آخر لطيف وليس على الإطلاق لـ PHP 7.4 ، مما يلغي الحاجة إلى استخدام جميع أنواع الحلول 1 و 2 .
  • سمعي PHP Internals News # 7 - يتحدث Derick Rethans مع Zeev Surasky حول JIT في PHP 8 ومحاولات التنفيذ السابقة.
  • سمعي PHP Internals News # 8 - محادثة مع George Banyard ، مساهم وثائق PHP ، حول العلامات القصيرة.

الأدوات


  • kalessil / production-dependant - guard - تمنع الحزمة إضافة تبعيات dev ، على سبيل المثال ، أدوات الاختبار والتصحيح ، إلى قسم المتطلبات من ملف composer.json ، كما تقوم بإجراء العديد من الاختبارات الأخرى.
  • jakoch / awesome-composer - مجموعة مختارة من الموارد والأدوات الخاصة بالملحن .
  • twirphp / twirp - إطار منفذ Twitch Twirp RPC في PHP. آخر في الدعم.
  • EFTEC / BladeOne - إصدار مستقل عن إطار عمل Blade في ملف واحد وبدون تبعيات.
  • fe3dback / str - برنامج التفاف الكائن على السلسلة مع الكثير من طرق المعالجة ودعم السلاسل متعددة البايت.

في symfony



لارافل



Yii



متزامن php



مواد التعلم



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

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

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

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

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


All Articles