Muhammad Ariffudin Ariffud is a career-shifting SEO Content Writer from Web Programming educational background, specializes in writing technical topics.

PHP 8.1 Telah Dirilis! Simak Fitur Baru, Perubahan & Cara Upgrade

4 min read

PHP 8.1 Telah Dirilis! Simak Fitur Baru, Perubahan, dan Lainnya

PHP telah merilis versi terbarunya, PHP 8.1, pada 25 November 2021 kemarin. 

Dilansir laman resmi PHP, versi ini disebut membawa update besar-besaran pada bahasa pemrograman tersebut. Terdapat sejumlah fitur yang ditambahkan, diubah, dan dihentikan, guna meningkatkan kinerja PHP 8.1 dibanding versi sebelumnya. 

Nah, Anda penasaran apa saja yang baru di PHP 8.1? Artikel kali ini akan mengulas hal-hal tersebut. Plus, ada juga panduan untuk upgrade ke PHP 8.1.

Baca hingga selesai, yuk!

Fitur Baru PHP 8.1

php 8.1 adalah

PHP 8.1 menyajikan banyak fitur baru dan menarik yang patut Anda ketahui, diantaranya:

1. Enums

Enums atau Enumerations adalah tipe data berisi sekumpulan nilai atau value yang ditentukan sendiri oleh pengguna. Dengan Enums, proses validasi terhadap value menjadi lebih ringkas.

Berikut contoh skripnya:

enum Status
{
    case Draft;
    case Published;
    case Archived;
}
function acceptStatus(Status $status) {...}

2. Fibers

Fibers yaitu mekanisme untuk mengelola concurrency atau beberapa perintah yang berjalan bersamaan. Caranya dengan memulai, menjeda, atau menghentikan perintah tersebut tanpa mempengaruhi kinerja program secara keseluruhan.

Contoh skrip Fibers sebagai berikut:

$response = $httpClient->request('https://example.com/');
print json_decode($response->getBody()->buffer())['code'];

3. Readonly Properties

Readonly Properties ialah fungsi pada PHP untuk menandai properti class sebagai readonly. Artinya, properti tersebut hanya bisa ditulis satu kali sehingga perubahan lanjutan yang dilakukan akan menimbulkan error.

Keberadaan fitur ini dapat mengurangi boilerplate (menulis skrip yang sama secara berulang-ulang) pada program yang dihasilkan. Contoh penerapan readonly adalah:

class BlogData
{
    public readonly Status $status;
  
    public function __construct(Status $status)
    {
        $this->status = $status;
    }
}

4. First-class Callable Syntax

First-class Callable Syntax adalah sebuah syntax yang digunakan untuk menimpa value yang ada pada sebuah fungsi. Caranya dengan membuat fungsi tersebut menjadi callable atau dapat dipanggil.

Pada PHP, ini dia bentuk skripnya:

function foo(int $a, int $b) { /* … */ }
$foo = foo(...);
$foo(a: 1, b: 2);

5. Pure Intersection Types

Pure Intersection Types adalah fungsi yang dipakai untuk mendeklarasikan beberapa constraints atau pembatas di saat yang sama. Fungsi ini sangat berguna, khususnya jika Anda sedang mengerjakan banyak interface sekaligus.

Nah, berikut contoh skrip yang berisi Pure Intersection Types:

function count_and_iterate(Iterator&Countable $value) {
    foreach ($value as $val) {
        echo $val;
    }

    count($value);
}

6. Never Return Type

Never Return Type adalah salah satu jenis return yang berfungsi untuk menghentikan alur kerja program. Caranya dengan menampilkan pesan error lewat fungsi exit, die, trigger_error, dan sejenisnya.

Berikut contoh penerapannya:

function redirect(string $uri): never {
    header('Location: ' . $uri);
    exit();
}

7. Final Class Constants

Final Class Constants adalah fitur yang dapat menandai constant atau pengenal dari sebuah value. Fitur ini dapat mencegah pewarisan value yang tidak dikehendaki dari class induk menuju class turunan.

Contoh skripnya sebagai berikut:

class Foo
{
    final public const XX = "foo";
}

class Bar extends Foo
{
    public const XX = "bar"; // Fatal error
}

Baca juga: Cara Membuat Website dengan PHP

Perubahan Fitur PHP 8.1

Selain fitur-fitur baru, PHP 8.1 juga melakukan perubahan sintaks terhadap beberapa fitur yang sudah ada, antara lain:

1. PHP Interactive Shell

Pada PHP, Interactive Shell punya beragam fitur untuk keperluan navigasi, autocomplete, dan editing pada program.

Di PHP versi sebelumnya, Anda bisa mengakses Interactive Shell meski tanpa mengaktifkan Readline Extension. Hasilnya, semua fitur Shell tidak bisa digunakan sama sekali.

Di PHP 8.1, Anda wajib mengaktifkan Readline Extension jika ingin menggunakan Interactive Shell. Caranya dengan menginstall package bernama php8.1-readline dan lanjutkan dengan mengakses Shell tersebut melalui php -a pada terminal.

2. MySQLi Default Error

PHP 8.1 mengubah metode yang digunakan untuk menampilkan error pada MySQLi menjadi seperti berikut:

Fatal error: Uncaught mysqli_sql_exception: Connection refused in ...:...

Dengan begitu, setiap error akan menampilkan pesan yang lebih terstruktur sehingga Anda dapat lebih mudah mengatasi error tersebut.

Hal ini berbeda dengan PHP versi sebelumnya, di mana Anda harus mengatur secara mandiri metode penampilan error yang digunakan. Salah satu caranya melalui fungsi mysqli_report.

Penghentian Fitur pada PHP 8.1

Meski menambahkan banyak fitur baru, tetap ada beberapa fitur yang akhirnya diberhentikan pada PHP 8.1, diantaranya:

1. Null to Non-Nullable Internal Functions

Pada PHP 8.1, variabel bernilai null tidak bisa diserahkan pada variabel lain yang dideklarasikan sebagai non-null. Jika tetap dilakukan, PHP akan menampilkan pesan seperti berikut:

var_dump(str_contains("foobar", null));
// Deprecated: Passing null to argument of type string is deprecated

Hal ini berbeda pada PHP 8.0, di mana variabel yang telah dideklarasikan sebagai non-nullable tetap bisa menerima variabel bernilai null.

2. MySQLi Driver Version

PHP punya sebuah ekstensi MySQLi bernama mysqli_driver->driver version yang seharusnya menampilkan versi driver dari MySQLi. Sayangnya, ekstensi ini sudah tidak diperbarui sejak 13 tahun yang lalu.

Ekstensi ini tetap menampilkan driver versi lama, meski driver itu sendiri banyak mengalami perubahan. Pada akhirnya, PHP 8.1 menghentikan ekstensi yang satu ini karena tidak membawa dampak apapun pada program.

Keunggulan PHP 8.1

Berkat optimasi fitur yang dilakukan, PHP 8.1 punya beberapa keunggulan dibanding PHP versi sebelumnya, yaitu:

1. Performa Lebih Cepat

php 8.1 performa

Berdasarkan hasil uji benchmark, PHP 8.1 punya performa yang lebih cepat sekitar 5-8% dari PHP 8.0. Hal ini berkat penambahan fungsi bernama inheritance caching pada Opcache, fitur caching bawaan PHP.

Inheritance caching menghubungkan berbagai jenis class lalu melakukan proses caching pada class secara bersamaan. Kemudian hasil caching tersebut disimpan pada shared memory milik Opcache.

Hasil caching tersebut akan disimpan selamanya, sehingga mengurangi jumlah perintah yang diperlukan. Hal tersebut terbukti dapat meningkatkan performa program secara keseluruhan.

2. Dukungan JIT Lebih Baik

PHP memperbaiki dukungan terhadap JIT (Just in Time) Compiler, sebuah teknik yang memungkinkan program diterjemahkan menjadi bahasa yang dimengerti komputer pada saat program tersebut berjalan secara real time.

JIT sebenarnya sudah tersedia sejak PHP 8.0, tapi kemampuannya ditingkatkan lagi pada PHP 8.1. Salah satunya adalah penambahan dukungan backend terhadap arsitektur ARM64.

Keberadaan JIT memang tidak berdampak positif dalam waktu dekat. Tapi di masa depan, ada kemungkinan Anda bisa menggunakan PHP tidak hanya untuk website, tapi juga untuk keperluan lain misalnya mobile app.

Cara Upgrade PHP 8.1

Sebelum melakukan update PHP 8.1 dari PHP versi sebelumnya, pastikan Anda mengikuti langkah-langkah berikut. Gunanya agar menghindari error yang tidak diinginkan.

  1. Backup website Anda lebih dulu. Tujuannya untuk mengembalikan website ke versi sebelumnya, jika terjadi masalah pada versi baru.
  2. Lakukan update terhadap plugin, tema, dan fitur pihak ketiga lain yang dipasang pada website Anda.
  3. Periksa kompatibilitas PHP terhadap semua plugin yang terpasang. Caranya dengan memeriksa semua fungsi pada masing-masing plugin.
  4. Perbaiki masalah kompatibilitas jika ditemukan error pada plugin. Caranya dengan menghubungi developer masing-masing plugin untuk mendapat solusi.

Jika sudah, pastikan layanan hosting Anda mendukung PHP 8.1, Niagahoster contohnya. Setelah itu, ikuti langkah-langkah berikut:

Login ke Member Area Niagahoster. Anda akan menuju tampilan berikut:

beranda member area niagahoster

Klik Layanan Anda > Hosting > Kelola Hosting.

kelola hosting

Pilih menu cPanel > All Features.

cpanel all features

Cari menu Software > Select PHP Version.

select php version

Pada PHP Selector, pilih menu dropdown > PHP 8.1. Jika sudah, klik Set as current.

upgrade php 8.1

Anda telah berhasil upgrade PHP 8.1 melalui cPanel Niagahoster. Hanya perlu waktu beberapa detik. Mudah dan cepat sekali, bukan?

Siapkah Anda Migrasi ke PHP 8.1?

PHP 8.1 adalah versi terbaru PHP yang menawarkan keunggulan performa dibanding versi sebelumnya. Hal ini berkat berbagai optimasi yang dilakukan, mulai dari menambahkan fitur baru sampai menghentikan fitur yang sudah usang.

Nah, apakah Anda sudah siap bermigrasi ke PHP 8.1? Eits, jangan lupa lakukan backup website, update fitur pihak ketiga, serta periksa kompatibilitas fitur-fiturnya lebih dulu.

Setelah itu, Anda bisa lanjutkan dengan upgrade PHP 8.1. Nah, pastikan layanan hosting yang Anda gunakan sudah mendukung ya. Kabar baiknya, Niagahoster sudah mendukung PHP 8.1 lho!

Hasilnya, performa website Anda akan semakin meningkat dan dapat diakses pengunjung dengan lebih cepat.

Di samping itu, Niagahoster telah menggunakan server tercepat di dunia LiteSpeed Enterprise, memudahkan pengelolaan website melalui cPanel versi terbaru, serta mengamankan website dari serangan malware lewat Imunify360.

Masih kurang? Niagahoster juga punya uptime hingga 99.98% dan menjamin website Anda bisa diakses dengan lancar selama 24 jam penuh!

Tunggu apa lagi, yuk bangun website terbaik Anda dengan PHP 8.1 dan gunakan layanan hosting dari Niagahoster sekarang!

Muhammad Ariffudin Ariffud is a career-shifting SEO Content Writer from Web Programming educational background, specializes in writing technical topics.

Leave a Reply

Your email address will not be published.