Penggunaan fungsi REFERNECE pada PHP

PHP 8 telah diluncurkan pada 26 November 2020 lalu. Dibandingkan pendahulunya, versi terbaru bahasa pemrograman ini lebih lengkap, baik itu secara fitur, performa, dan perbaikan pada error. 

Apa itu PHP 8? Apa saja fitur barunya? Nah, di artikel ini kami akan menjelaskannya secara lengkap. Yuk simak artikel ini sampai selesai!

Apa itu PHP 8?

PHP 8 adalah pembaruan dari PHP 7.4 yang akan berhenti active supportnya pada November 2021. Berbeda dengan PHP 7.4 yang hanya minor update, PHP 8 adalah sebuah major update dari bahasa pemrograman PHP. 

Apa arti dari sebuah major update? Jadi, versi terbaru ini menawarkan performa yang lebih baik dengan adanya berbagai fitur baru. Beberapa fitur unggulannya adalah Just In Time Compiler, Weak Maps, dan Named Arguments.

Penasaran ingin tahu fitur selengkapnya dan berbagai kelebihannya? Mari bahas fitur-fitur PHP 8 secara lebih lengkap!

Baca juga: Cara Membuat Website dengan PHP

10+ Fitur PHP 8 dan Keunggulannya

Berikut ini adalah fitur-fitur baru pada PHP 8 yang tentunya akan memudahkan pekerjaan Anda: 

1. JIT [Just In Time] Compiler

JIT Compiler merupakan teknik untuk meningkatkan kinerja program yang diinterpretasikan. Sebab sebelum program dijalankan, JIT Compiler sudah mengkompilasi program menjadi kode bahasa mesin. 

Dengan teknik JIT Compiler, eksekusi kode pun menjadi jauh lebih cepat dibanding interpreter PHP versi sebelumnya. Bagaimana proses interpretasinya?

Pada compiler PHP sebelumnya, interpreter akan melakukan proses mengurai, mengkompilasi dan eksekusi kode. Proses itu dilakukan berulang kali setiap ada request skrip. Hal itu menyebabkan pemborosan ruang CPU.

Namun JIT Compiler PHP 8 memiliki kode mesin aktual yang dapat bekerjasama dengan OPCache. Jadi, saat ada request terhadap skrip dan cache sudah tersedia di OPCache, skrip itu akan langsung diteruskan ke CPU untuk dikompilasi. 

Selain itu, JIT Compiler PHP 8 memiliki dua mesin kompilasi JIT, yaitu function dan tracing. JIT berbasis function akan mengoptimalkan kode hanya dalam satu fungsi lingkup saja. Sedangkan, JIT berbasis tracing mengoptimalkan seluruh pelacakan dan pencarian kode. 

Ketika fitur JIT Compiler tersebut diaktifkan, fitur itu dapat meningkatkan kinerja aplikasi berbasis PHP sebesar 3-5%. Sedangkan performa aplikasi standar PHP akan meningkat 3 kali lebih cepat.

2. Weak Maps

Weak Maps adalah struktur data yang dapat menampung objek. Berbeda dengan Weak Reference pada PHP 7.4, Weak Maps juga dapat membersihkan cache dari objek yang tak direferensikan lagi. 

Dalam PHP, ketika ada variabel dari objek dihapus, maka akan ada pengecekan referensi ke objek tersebut. Kalo tidak ada variabel lain, itu artinya aman untuk menghapus objeknya.

Nah, dengan fitur Weak Maps pada PHP 8, proses penghapusan itu jadi lebih otomatis. Berikut ini contoh penggunaanya:

PHP 8

Contoh PHP 7 menunjukan bahwa integer 0 [nol] sama dengan ‘0’. Artinya type itu adalah type string dengan output true. Sedangkan pada PHP 8, kondisi yang sama akan menghasilkan output false karena adanya type data yang berbeda.

11. Consistent type errors for internal functions

Saat Anda melakukan kesalahan pengiriman tipe, fungsi user defined dan internal akan mengirimkan pesan yang berbeda. Fungsi user defined mengirimkan pesan TypeError. Sedangkan fungsi internal mengirimkan beragam pesan berbeda. 

Hal ini mungkin membuat Anda kesulitan mengidentifikasi letak dan penyebab error atau kesalahan. Nah, PHP 8 menghadirkan solusinya dengan fitur consistent type errors for internal functions.

Fitur ini akan memunculkan pesan error dan letak error ketika ada kesalahan koding. Kesalahan ditunjukkan dengan TypeError : … atau ValueError : … .

Dengan adanya fitur ini, Anda dapat mengetahui letak error. Selain itu, Anda juga akan mengetahui cara memperbaiki error statement.

Berikut ini contoh penggunaan fitur ini:

PHP 7

strlen[[]]; // Warning: strlen[] expects parameter 1 to be string, array given

array_chunk[[], -1]; // Warning: array_chunk[]: Size parameter expected to be greater than 0

PHP 8

strlen[[]]; // TypeError: strlen[]: Argument #1 [$str] must be of type string, array given

array_chunk[[], -1]; // ValueError: array_chunk[]: Argument #2 [$length] must be greater than 0

Seperti yang terlihat pada contoh di atas, pesan error yang muncul pada PHP 8 diperbaiki menjadi lebih konsisten untuk  semua jenis parameter yang tidak valid.

Niagahoster Sudah Mendukung PHP 8

Setelah mempelajari fitur di atas, Anda tentu jadi tahu keunggulan PHP 8 dibanding versi pendahulunya. Bagaimana? Anda jadi tak sabar menggunakan versi terbaru PHP ini? 

Tenang, seluruh server di Niagahoster kini sudah mendukung PHP 8. Hal ini tentu akan membuat website Anda tetap mutakhir, aman dan memiliki kinerja baik. 

Hanya saja, PHP 8 belum menjadi pengaturan bawaan server di Niagahoster. Alasannya, sebuah versi baru bisa saja belum diperlukan di beberapa website terkait kompatibilitasnya. 

Namun, jika Anda tertarik menggunakan PHP 8, Anda bisa langsung mengganti versi PHP melalui cPanel. Jangan lupa untuk melakukan langkah backup untuk menghindari kehilangan data.

Bagaimana cara mengubahnya?

Masuklah ke cPanel hosting Anda. Selanjutnya, geser ke bawah pada bagian Software dan pilih menu Select PHP Version

Kemudian, klik drop down yang bertuliskan 7.4 [current] dan pilih versi 8.0 pada bagian current PHP version.

Pengaturan ini akan otomatis tersimpan sehingga server Anda sudah akan menggunakan versi PHP 8. 

Baca juga: PHP 8.1 Telah Dirilis! Simak Fitur Baru, Perubahan, Cara Upgrade

Apakah Anda Siap Beralih ke PHP 8?

PHP 8 menawarkan banyak fitur yang akan memudahkan pekerjaan Anda. Bukan hanya menawarkan penulisan skrip yang lebih ringkas dan jelas, kinerja website dengan PHP 8 diharapkan akan jauh lebih cepat. 

Beberapa fitur utama yang ditawarkan oleh PHP 8 beserta fungsinya adalah sebagai berikut:

  1. Just In Time Compiler –  meningkatkan kinerja program yang diinterpretasikan
  2. Weak Maps – membersihkan objek yang sudah tidak direferensikan
  3. Union Type – memungkinkan Anda mendeklarasikan variabel dalam beberapa tipe
  4. ::Class for Object – merampingkan kode sumber 
  5. NullSafe Operator – mendeteksi null dalam suatu elemen rantai
  6. Constructor Property Promotion – mengurangi penulisan atribut berulang
  7. Named Arguments – mengirimkan argumen ke sebuah fungsi menggunakan nama
  8. Match Expression – memiliki fungsi mirip Switch tapi dapat mengembalikan value 
  9. Attributes – memberi keterangan informasi tambahan dan konfigurasi, sehingga dapat dibaca oleh mesin pada deklarasi dalam kode
  10. Numeric Strings – mengubah string menjadi angka sebelum melakukan komparasi, sehingga komparasi lebih ketat dan minim error
  11. Consistent Type Errors for Internal Function – memunculkan pesan error dan letak error ketika ada kesalahan koding

Nah, kalau Anda sudah siap menggunakan PHP 8 untuk website Anda, tunggu apa lagi? Selamat mencoba!

Bài mới nhất

Chủ Đề