Laravel Indonesia
Laravel Indonesia

Laravel Indonesia

c/laravel-indonesia

Pustaka FetchPHP yang terinspirasi dari JavaScript Fetch()

Pustaka FetchPHP yang terinspirasi dari JavaScript Fetch()

Fetch PHP merupakan pustaka HTTP yang ringan dan terinspirasi dari fungsi `fetch` pada PHP. Pustaka ini menghadirkan kesederhanaan dan fleksibilitas dalam membuat request HTTP. Di belakang layar pustaka ini menggunakan klien Guzzle, jadi kamu tetap mendapatkan fitur-fitur powerful yang memang dimiliki oleh Guzzle seperti sinkronus dan asinkronus request dengan API yang mudah digunakan.

Contoh penggunaan: 

$response = fetch('https://jsonplaceholder.typicode.com/todos/1');
 
// Get the JSON response
$data = $response->json(assoc: true);
print_r($data);
/*
[
  "userId" => 1,
  "id" => 1,
  "title" => "delectus aut autem",
  "completed" => false
}
*/
 
// Get the status text (e.g., "OK")
echo $response->statusText();

Metode-metode yang tersedia dalam bentuk respon

  • json(bool $assoc = true): Mendekode body respon dalam bentuk JSON, jika parameter bernilai benar, maka akan mengembalikan bentuk asosiatif array, sebaliknya akan mengembalikan bentuk obyek.
  • text(): Mengembalikan body respon dalam bentuk teks
  • blob(): Mengembalikan body respon dalam bentuk PHP stream 
  • arrayBuffer(): Mengembalikan body respon dalam bentuk string binari 
  • statusText(): Mengembalikan kode status request, contohnya "OK" untuk 200 
  •  ok(): Mengembalikan nilai true apabila status kode 200-299
  • isInformational(), isRedirection(), isClientError(), isServerError(): Untuk mengecek variasi status

Selain itu ada pula asinkronus request berupa `fetchAsync()` seperti berikut:

//
// Asyc requests
//
$promise = fetchAsync('https://jsonplaceholder.typicode.com/todos/1');
 
$promise->then(function ($response) {
    $data = $response->json();
    print_r($data);
});
 
// Wait for the promise to resolve
$promise->wait();
 
//
// Error handling
//
$promise = fetchAsync('https://nonexistent-url.com');
 
$promise->then(function ($response) {
    // handle success
}, function ($exception) {
    // handle failure
    echo "Request failed: " . $exception->getMessage();
});

Untuk lebih lengkapnya kunjungi laman FetchPHP - Github.

User Discussion
0 Discussion

Latest Discussions