Cara menggunakan what is readline php?
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. Show
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! Daftar isi Fitur Baru PHP 8.1PHP 8.1 menyajikan banyak fitur baru dan menarik yang patut Anda ketahui, diantaranya: 1. EnumsEnums 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. FibersFibers 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 PropertiesReadonly 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 SyntaxFirst-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 TypesPure 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 TypeNever 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 ConstantsFinal 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.1Selain fitur-fitur baru, PHP 8.1 juga melakukan perubahan sintaks terhadap beberapa fitur yang sudah ada, antara lain: 1. PHP Interactive ShellPada 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 ErrorPHP 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.1Meski menambahkan banyak fitur baru, tetap ada beberapa fitur yang akhirnya diberhentikan pada PHP 8.1, diantaranya: 1. Null to Non-Nullable Internal FunctionsPada 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 VersionPHP 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.1Berkat optimasi fitur yang dilakukan, PHP 8.1 punya beberapa keunggulan dibanding PHP versi sebelumnya, yaitu: 1. Performa Lebih CepatBerdasarkan 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 BaikPHP 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.1Sebelum melakukan update PHP 8.1 dari PHP versi sebelumnya, pastikan Anda mengikuti langkah-langkah berikut. Gunanya agar menghindari error yang tidak diinginkan.
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: Klik Layanan Anda > Hosting > Kelola Hosting. Pilih menu cPanel > All Features. Cari menu Software > Select PHP Version. Pada PHP Selector, pilih menu dropdown > PHP 8.1. Jika sudah, klik Set as current. 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! Saya Mau Beli Hosting Niagahoster Sekarang Juga! Share Muhammad Ariffudin Follow also known as Ariffud Subscribe SekarangDapatkan beragam artikel tutorial, insight dan tips menarik seputar dunia online langsung melalui email Anda. Subscribe sekarang dan raih kesuksesan bersama kami! |