Cara implementasi Guzzle untuk membuat RESTclient menggunakan Codeigniter

Pada kasus kali ini kita menggunakan Codeigniter 3.1.8 dan Guzzle 6. Kita akan mencoba mendapatkan data json dari sebuah web services dan kita tampilkan dalam view. Source code codeigniter yang sudah dipasang guzzle dan digunakan dalam contoh postingan ini bisa dilihat di repository gitlabĀ https://gitlab.com/alfannas/codeigniter-guzzle

1. Download Codeigniter

Jika belum punya codeigniter yang sudah terinstall, download dulu dari website resmi codeigniter kemudian setup di website directory. Cek dan pastikan codeigniter bisa diakses dari browser.

2. Install Guzzle

Kita akan gunakan composer untuk install guzzle. Buka terminal atau command prompt dan masuk ke working directory dimana directory codeigniter berada. Kemudian install guzzle dengan perintah berikut:

composer require guzzlehttp/guzzle:~6.0

Ketika proses instalasi, nanti akan ditanya apakah akan dimasukkan kedalam dependency composer.json. Jawab Yes.

Jika belum punya composer, install dulu composernya.

3. Update config dan masukkan guzzle

Buka config pada application/config/config.php dan tambahkan baris berikut:

$config['composer_autoload'] = FCPATH.'vendor/autoload.php';

3. Inisiasi guzzle pada controller

Misal kita gunakan controller yang sudah ada ketika instalasi codeigniter, yaitu Welcome.php. Buat method baru guzzle_get yang akan menginisiasi Guzzle.

public function guzzle_get($url,$uri){
    $client = new GuzzleHttp\Client(['base_uri' => $url]);
    $response = $client->request('GET',$uri);
    return $response->getBody()->getContents();
}

4. Include data pada view

Masih pada controller Welcome.php, pada method index(), ambil data dari url yang akan kita pakai datanya. Kita akan menggunakan data dari httpbin.org dengan format json.

public function index(){
    $data['data'] = json_decode($this->guzzle_get('http://httpbin.org','json'));
    $this->load->view('welcome_message',$data);
}

5. Tamplikan data pada view

Kemudian pada view welcome_message.php kita bisa tampilkan datanya. Untuk melihat secara keseluruhan isi dari datanya kita gunakan var_dump()

<?php
    var_dump($data);
?>

atau dalam contoh ini kita ambil salah satu data:

echo $data->slideshow->author;

 

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *