PHP Digest No. 171 (1 - 13 Januari 2020)


Seleksi segar dengan tautan ke berita dan bahan. Dalam rilis: 4 RFC segar dari PHP Internal dan permintaan kumpulan menarik di PHP 8, sebagian dari alat yang bermanfaat, podcast, stream, dan banyak lagi.

Selamat membaca!



PHP internal


  • [RFC] Sintaks Variabel Tweaks - Sejumlah ketidakkonsistenan dalam sintaks Uniform Variable Syntax Variabel RFC telah diperbaiki di PHP 7. Beberapa kelalaian dereferencing diusulkan untuk diperbaiki di PHP 8.
  • [RFC] Jenis pengembalian statis - Kata static dalam konteks deklarasi jenis berarti pengikatan statis lanjut . Diusulkan untuk memungkinkannya menggunakannya sebagai jenis metode pengembalian. Nyaman dalam antarmuka cairan atau konstruktor statis.
    Teks tersembunyi
     class Test { public function doWhatever(): static { // Do whatever. return $this; } } 
    Untuk properti kelas dan parameter metode, ini tidak masuk akal dan tidak akan berfungsi.
  • [RFC] Allow :: class on objects - Dalam PHP 8, diusulkan untuk memungkinkan untuk mendapatkan nama kelas penuh dari $object::class , mirip dengan cara kerjanya sekarang kelas Foo\Bar::class .
  • [RFC] pernyataan β€œuse global functions / consts” - Jika suatu fungsi atau konstanta digunakan tanpa awalan, maka PHP akan mencoba menemukannya terlebih dahulu di namespace saat ini dan kemudian di global. Penulis menyarankan menambahkan arahan use global functions; dan use global consts; , yang akan memaksa penerjemah untuk mencari fungsi dan konstanta tanpa awalan di ruang global secara default.
  • [RFC] Peta lemah - Penawaran diterima dan WeakMaps akan tersedia dalam PHP 8.

    Beberapa perubahan tersedia sebagai permintaan kumpulan:
  • [PR] Hapus parameter yang diperlukan setelah opsional - Peringatan ini tentang penggunaan parameter yang diperlukan setelah tanda tangan fungsi opsional diimplementasikan:
     function test(FooBar $param = null, $param2) 

    Ini mungkin masuk akal sebelumnya, tetapi dengan tipe nullable Anda dapat menulis function test(?FooBar $param, $param2) .
  • [PR] Periksa tanda tangan metode abstrak yang berasal dari sifat - Tanda tangan metode abstrak dari sifat tidak divalidasi untuk kepatuhan implementasi. Artinya, kode ini sekarang berfungsi tanpa kesalahan:
    Teks tersembunyi
     trait T { abstract function neededByTheTrait(int $a, string $b); } class C { use T; function neededByTheTrait(array $a, object $b) {} } 
    Permintaan kolam renang memperbaiki perilaku ini.
  • [PR] Pastikan tanda tangan yang benar untuk metode sulap PHP - Dan dalam PR ini, verifikasi tanda tangan metode sulap diterapkan. Saat ini, hanya untuk __toString() dan __clone() , tetapi ini, misalnya, berfungsi tanpa kesalahan:
    Teks tersembunyi
     class Foo { function __get(int $name) {} } (new Foo)->{42}; 

Alat-alatnya



Symfony



Laravel



Zend / laminasi



CMS



Materi Pembelajaran




Audio / Video



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. 170

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


All Articles