Pada artikel ini, kita akan belajar tentang fungsi async di PHP.
Mari kita pahami apa arti dari Async (Asynchronous):
Suatu program tidak perlu dieksekusi baris demi baris. Program memanggil fungsi dan bergerak lebih jauh (tidak menunggu fungsi kembali). Itu akan dieksekusi di latar belakang. Non-Blocking metode dieksekusi secara asinkron. Async memungkinkan paralel eksekusi kode. Async juga digunakan untuk membuat eksekusi kode lebih cepat dan memungkinkan eksekusi banyak tugas.
Fungsi Async di PHP:
- Di dalam sinkronis pemrograman, jika kita ingin membaca beberapa file dan mengembalikan kontennya, blok fungsi lainnya hingga fungsi saat ini kembali.
- Tapi sebuah asinkron program pemrograman memanggil fungsi dan bergerak lebih jauh dan semua hal yang sama terjadi di latar belakang.
- Untuk menulis program Async di PHP, kita membutuhkan library (ReactPHP dan Amp) yang digunakan untuk mengimplementasikan non-blocking I/O di php.
- AMP adalah kerangka kerja konkurensi untuk php dan memungkinkan kita mengelola loop peristiwa, iterator asinkron, dan janji.
Sebelum masuk ke kodenya, mari kita pahami dulu fungsi-fungsi yang disediakan oleh AMP:
1. lalu() Fungsi: Fungsi then() dijalankan hanya ketika blok kode di Async berhasil dijalankan dan kita dapat melakukan operasi pada hasil yang dikembalikan oleh Async.
Sintaksis:
then(function () { // You can write operations here.. })
2. batas waktu() Fungsi: Fungsi timeout() terjadi ketika permintaan php memakan waktu lebih lama dari biasanya dan tidak memerlukan parameter.
Sintaksis:
timeout(function () { // Execute when request takes longer time to execute. })
3. tangkap Blok: Pengecualian ditangani dalam tangkapan. Ketika program melempar blok penangkap pengecualian (kesalahan) akan dieksekusi.
Sintaksis:
catch(function ($exception) { // Here we can handle exceptions })
4. menunggu() Fungsi: Fungsi await memungkinkan kita menunggu hingga async kembali.
Sintaksis:
await($promise);
5. Janji: Janji mewakili hasil tunggal dari operasi asinkron.
$promise = $deferred->promise();
Langkah-langkah yang diperlukan untuk “Kode Async” diberikan di bawah ini:
Langkah 1: Anda harus menginstal komposer untuk mengimpor pustaka (ReactPHP dan Amp).
Langkah 2: Inisialisasi komposer menggunakan perintah berikut.
composer init
Langkah 3: Buat file .php. Struktur Proyek Anda akan terlihat seperti ini.

Langkah 4: Untuk mengimplementasikan fungsi Async kita perlu mengimpor paket terlebih dahulu dengan menggunakan composer.
composer require amphp/react-adapter
Langkah 5: Kelas impor ada di dalam AMP.
PHP
|
Catatan: Jika Anda mendapatkan error seperti ini “Uncaught Error: Class “AmpReactAdapterReactAdapter” not found in C:”. Sertakan ini di dalam kode PHP Anda: require __DIR__ . ‘/vendor/autoload.php’;
Mari kita ambil beberapa contoh untuk memahami konsep ini dengan lebih baik:
Contoh 1: Dalam pemrograman asinkron, program memanggil fungsi dan bergerak lebih jauh dan memungkinkan pelaksanaan banyak tugas. Sebagai contoh: Jika kita pertama kali menulis tabel 2 dan kemudian kita menulis beberapa fungsi cetak, maka fungsi cetak akan dijalankan terlebih dahulu karena I/O non-blocking.
PHP
|
Keluaran:

Contoh 2: Membaca file teks menggunakan Async. Kita dapat membaca file dengan cara asinkron non-blocking, di mana program memanggil fungsi dan pindah ke fungsi lain, tidak menunggu fungsi kembali. Ketika file tersebut benar-benar dibaca kemudian dicetak.
PHP
|
Keluaran:

Terakhir Diperbarui :
06 Oktober 2022
Seperti Artikel
Simpan Artikel