Rilis PHP 7:Fitur Utama &Yang Perlu Anda Ketahui
Jika Anda seorang pengembang, Anda mungkin tahu bahwa versi beta lengkap fitur dari PHP 7 baru telah keluar. Versi 7.0.0 berisi banyak fitur dan fungsi keren. Namun, kami menyarankan Anda untuk tidak menggunakannya di lingkungan produksi , hingga Anda mendapatkan versi stabil, yang diharapkan tersedia pada bulan November ’15.
Anda bebas menguji dan bermain dengan versi beta terbaru, dan melaporkan bug jika Anda menemukannya selama pengujian. Kami mencantumkan semua perubahan/peningkatan gradasi yang akan Anda lihat di PHP 7.0.0.
16. Ini adalah PHP 7 (bukan 6)
Versi stabil saat ini adalah PHP 5.6. Jadi, banyak pengembang mengharapkan versi 6.0. Yang tidak mereka ketahui adalah, PHP 6 sudah ada di masa lalu sebagai proses percobaan, namun tidak pernah mencapai tahap produksi. Tim pengembangan inti memutuskan mereka akan meneruskan nama PHP 6 untuk rilis besar berikutnya.
15. Dukungan Windows 64-Bit
Versi PHP saat ini tidak menyediakan dukungan integer 64 bit atau file besar. Segalanya akan berubah di masa depan, karena PHP 7 memperkenalkan dukungan 64-bit yang konsisten, yang berarti bilangan bulat asli 64-bit dan file besar akan didukung.
14. Penghapusan Fungsi dan Ekstensi yang Tidak Digunakan Lagi
Salah satu tujuan utama PHP 7 adalah mengosongkan memori untuk memungkinkan peningkatan, sehingga API server lama yang tidak didukung, ekstensi, dan fungsi yang tidak digunakan lagi perlu dihilangkan.
Semua barang yang dihapus sudah lama tidak digunakan. Namun, jika Anda memiliki aplikasi lama yang berjalan pada versi lama, mengupgrade ke PHP 7 berpotensi merusak kode.
Baca:30 Alat Pelacakan Bug Untuk Pengembang
13. Deklarasi Penggunaan Grup
RFC ini dibuat untuk meningkatkan implementasi namespace PHP saat ini dengan memperkenalkan konsep deklarasi grup. Fitur ini berguna bagi para pembuat kode yang biasanya mengimpor banyak kelas dari namespace yang sama. Sintaks baru menghilangkan verbositas, membuat kode Anda lebih rapi dan menghemat banyak waktu mengetik.
12. Kelas Anonim
Konsep kelas anonim telah digunakan dalam bahasa pemrograman berorientasi objek lain seperti Java dan C#. Mereka hanyalah sebuah kelas tanpa nama yang dapat mempercepat pengkodean serta waktu eksekusi. Anda harus menggunakannya ketika kelas hanya digunakan sekali selama eksekusi dan ketika kelas tidak perlu didokumentasikan.
11. Sintaks Variabel Seragam
Sintaks variabel seragam menyelesaikan banyak inkonsistensi dalam cara ekspresi dievaluasi. Misalnya, kemampuan untuk memanggil penutupan yang ditetapkan ke properti menggunakan ($object->closureProperties)() , serta mampu melakukan panggilan statis secara berantai.
Pada versi PHP yang lebih lama, $obj->$properties[‘name’] akan mengakses properti yang namanya ada dalam kunci nama array properti. Sekarang, ia akan mengakses kunci nama properti yang namanya berada di $properties.
10. Sintaks Pelarian Unicode Codepoint
Karakter escape baru (\u) memungkinkan kita menentukan titik kode karakter Unicode (dalam heksadesimal) dengan jelas di dalam string. Misalnya, jika Anda tidak dapat mengetikkan emoji apa pun, Anda dapat menggunakan escape sequence-nya.
9. Kelas Induk Bersama dalam Penanganan Pengecualian
Bagi pembuat kode PHP, menangani kesalahan fatal yang fatal dan dapat ditangkap bukanlah tugas yang mudah. Dengan Pengecualian Mesin yang baru, Anda dapat mengganti jenis error ini dengan pengecualian.
Agar pembuat kode dapat menangkap pengecualian tradisional dan pengecualian mesin, PHP 7 memperkenalkan kelas induk bersama baru dengan nama \BaseException .
8. Penutupan Ikat saat Panggilan
Penutupan::bind() dan Penutupan->bindTo() memungkinkan Anda mengubah pengikatan $this dan cakupan pemanggilan, secara terpisah atau bersamaan, menciptakan penutupan duplikat. Di PHP 7, ada cara mudah untuk melakukan ini pada waktu panggilan, dengan mengikat keduanya $this dan memanggil cakupan ke objek yang sama dengan tambahan Penutupan->panggilan(). Metode ini mengambil objek sebagai argumen pertamanya, diikuti dengan argumen apa pun untuk dimasukkan ke dalam penutupan.
7. Operator Penggabungan Null
Operator gabungan dilambangkan dengan “??”. Ia mengembalikan hasil operan pertama jika ada dan bukan NULL, jika tidak, ia akan mengembalikan operan kedua. Artinya, penggunaan penggabungan sepenuhnya aman karena tidak akan memunculkan E_NOTICE meskipun nilainya tidak ada.
6. Operator Perbandingan Gabungan
Operator perbandingan gabungan (juga dikenal sebagai operator pesawat ruang angkasa) mirip dengan version_compare() atau strcmp() dalam perilakunya, namun dapat digunakan di semua nilai PHP umum. Itu sudah ada dalam bahasa pemrograman Ruby dan Perl.
Operator mengembalikan -1 jika operan kiri lebih besar, 0 jika keduanya sama, dan 1 jika operan kiri lebih besar.
5. Ekspresi Pengembalian Generator dan Delegasi Generator
Ekspresi pengembalian generator memungkinkan Anda mengembalikan nilai setelah generator berhasil diselesaikan. Di PHP 7, Anda dapat memanggil $generator->getReturn() untuk mengambil nilai kembalian. Jika generator belum mengembalikan atau memunculkan pengecualian yang tidak tertangkap, $generator->getReturn() akan memberikan pengecualian. Jika generator telah selesai tetapi tidak ada pengembalian, NULL dikembalikan.
Fitur delegasi generator memungkinkan Anda mengembalikan struktur iterable lain yang dapat dilalui dengan sendirinya, baik itu iterator, array, atau generator lainnya. Iterasi substruktur dilakukan dengan loop asli terluar, bukan loop rekursif.
4. Deklarasi Jenis Pengembalian
Banyak programmer ingin mendeklarasikan tipe kembalian suatu fungsi. Ini membantu mencegah nilai pengembalian dan subtipe yang tidak diinginkan merusak tipe pengembalian yang diharapkan dari tipe super, terutama di antarmuka. Selain itu, PHP 7 hadir dengan 4 tipe deselerasi baru untuk tipe skalar – string, int, float dan bool. Tipe baru ini memungkinkan pembuat kode untuk menentukan bahwa mereka mengharapkan integer, float, string, dan boolean dikembalikan.
Pada gambar di atas, fungsi foo seharusnya dikembalikan dalam array. Lihat beberapa contoh yang rumit.
3. Pohon Sintaks Abstrak
Perubahan terbesar dan paling tidak terlihat adalah penambahan pohon sintaksis Abstrak – representasi perantara kode selama kompilasi. Ini menggantikan praktik yang ada dalam memancarkan opcode langsung dari parser. Hal ini memungkinkan kami menghilangkan sejumlah peretasan dan membuat penerapannya lebih mudah dipahami dan dikelola. Selain itu, Anda dapat mengimplementasikan sintaksis yang tidak dapat dilakukan dengan proses kompilasi single pass.
2. Mesin Zend Baru
Zend Engine pertama diperkenalkan pada tahun 1999 di PHP 4. Ini adalah mesin skrip sumber terbuka (ditulis dalam C) yang menafsirkan PHP. Versi PHP saat ini menggunakan Zend Engine II, yang menyediakan manajemen memori dan sumber daya serta menambahkan model objek yang dapat diperluas dan peningkatan kinerja yang signifikan pada bahasa tersebut.
Zend Engine III baru, awalnya diberi nama kode phpng, sedang dalam pengembangan untuk PHP 7.
1. Performa + Penghematan Memori
Alasan terbesar untuk mengupgrade ke PHP 7 adalah kinerjanya. Ini adalah kabar baik, terutama untuk host yang lebih kecil, karena mereka akan dapat menampung lebih banyak pelanggan pada perangkat keras yang sama. Kinerja versi ke-7 setara dengan Facebook HHVM, yang dilengkapi kompiler JIT (just-in-time) yang memungkinkan kompilasi pada waktu proses, bukan sebelum eksekusi. Ada juga penghematan memori yang besar, karena optimalisasi struktur data internal.
Direkomendasikan:30 Library PHP yang Menakjubkan untuk Pemrogram dan Pengembang
Seperti yang dapat Anda lihat pada grafik yang dirilis oleh Zend, permintaan WordPress pada PHP 5.6 dijalankan dengan instruksi CPU 100 juta, sedangkan PHP 7 hanya mengeksekusi 25 juta untuk melakukan pekerjaan yang sama. Selain itu, pengujian menunjukkan bahwa Anda dapat menjalankan 3x transaksi Magento pada perangkat keras yang sama, dan Drupal 8 berjalan 72% lebih cepat dengan PHP 7.