PHP Digest No. 155 (22 April - 6 Mei 2019)


Seleksi segar dengan tautan ke berita dan bahan. Dalam rilis: pembaruan PHP, Codeception 3.0 dan rilis lainnya, lambda pendek dalam PHP 7.4 dan ikhtisar dari kalimat RFC terbaru dari PHP Internals, sebagian dari alat yang berguna, dan banyak lagi.

Selamat membaca!



Berita dan Siaran


  • PHP 7.3.5
  • PHP 7.2.18
  • PHP 7.1.29
  • Codeception 3.0 - Konsol interaktif yang ditingkatkan, langkah-langkah berulang, dukungan untuk PHPUnit 8 dan banyak lagi.
  • spiral / roadrunner 1.4.0 - Memperbarui server aplikasi, penyeimbang dan manajer proses di Go. Rilis ini termasuk berhenti aman untuk pekerja, dukungan untuk variabel lingkungan di konfigurasi, kemampuan untuk mengontrol pekerja di kolam, dan banyak lagi. Ada roadrunner.dev situs web baru.
  • PHP Rusia 2019 - 17 Mei, Moskow, Infospace. Hanya beberapa hari tersisa sampai kenaikan harga terakhir.

PHP internal


  • [RFC] Arrow Functions 2.0 - Proposal telah memberikan suara dan menerima. Sekarang di PHP akan ada fungsi anonim pendek menggunakan sintaks fn() => dan secara otomatis mengambil variabel dari lingkup eksternal dengan nilai:
     $y = 1; $fn = fn($x) => $x + $y; 

    Sejauh ini, fungsi hanya dapat memiliki satu ekspresi secara ketat, yang hasilnya akan dikembalikan. Fungsi multi-line dapat diimplementasikan kemudian. Retas menggunakan operator && seperti pada JS tidak akan berfungsi:
    Teks tersembunyi
     andOperator = ($x) => ($y = 10) && $x + $y; console.log(andOperator(5)); // 15 
     $andOperator = fn($x) => ($y = 10) && $x + $y; var_dump($andOperator(5)); // bool(true) 
    Tapi Anda bisa menerapkan hack menggunakan end() :
    Teks tersembunyi
     <?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) 

    Atau menggunakan array_slice() , terima kasih kepada Grikdotnet untuk tipnya :
    Teks tersembunyi
     $multipleLines = fn($x) => array_slice([ $y = $x * 10, $z = $y + 15, $x + $y + $z ], -1)[0]; var_dump($multipleLines(1)); // int(36) 

  • [RFC] Usang PHP Tag terbuka pendek - Proposal membahas ide untuk menghapus kemungkinan menggunakan tag pendek <? Namun, itu disambut oleh badai kemarahan dan kontroversi. Oleh karena itu, cara yang jauh lebih ringan diusulkan, di mana dalam versi berikutnya kesempatan tetap tersedia, dan peringatan penghentian akan dilemparkan.
  • [RFC] Sebarkan Operator dalam Ekspresi Array - Proposal diterima dengan suara bulat. Operator ... sekarang akan tersedia dalam array.
    Teks tersembunyi
     $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; 
    Selain itu, dengan menggunakannya, Anda dapat dengan cepat mengkonversi iterator ke array alih-alih menggunakan iterator_to_array :
     $array = [...$iter]; 
  • RFC: Izinkan melempar pengecualian dari __toString () - Nikita terus memperbaiki secara sistematis "kesedihan PHP" satu per satu. Kali ini kita berbicara tentang kemampuan untuk melempar pengecualian di __toString() . Lain perbaikan yang bagus dan sama sekali tidak sepele untuk PHP 7.4, yang menghilangkan kebutuhan untuk menggunakan semua jenis workarounds 1 , 2 .
  • audio PHP Internals News # 7 - Derick Rethans berbicara dengan Zeev Surasky tentang JIT di PHP 8 dan upaya implementasi sebelumnya.
  • audio PHP Internals News # 8 - Percakapan dengan George Banyard, kontributor dokumentasi PHP, pada tag pendek.

Alat-alatnya



Symfony



Laravel



Yii



Async php



Materi Pembelajaran



Terima kasih atas perhatian anda!

Jika Anda melihat kesalahan atau ketidaktepatan - mohon informasikan kepada saya di PM .
Pertanyaan dan saran menulis ke email atau twitter .

Lebih banyak berita dan komentar di Saluran Telegram PHP Digest .

Kirim tautan
Tautan pencarian untuk semua pencernaan
Release Rilis sebelumnya: PHP Digest No. 154

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


All Articles