Guzzle HTTP Nasıl Kullanılır ?

Guzzle HTTP Nasıl Kullanılır ?

Written by:

Merhaba, bugünkü yazımda sizlere Guzzle HTTP‘nin ne olduğunu, nasıl kurulup, nasıl kullanıldığını, O halde başlayalım…

Guzzle HTTP Nedir ?

Guzzle, PHP programlama dilin de geliştirilmiş olan bir HTTP istemcisidir. Geliştirilme amacı ise; Göndermek istediğimiz HTTP isteklerinin kontrolünü ve kullanımını bizler için olabildiğince basit hale getirmektir.

Guzzle HTTP Nasıl Kurulur ?

Bu HTTP kütüphanesini projenize dahil etmeniz için öncellikle PHP‘in paket yöneticisi olan Composer‘ın bilgisayarınızda kurulu olması lazım. Nasıl kurulur bilmiyorsanız buraya tıklayınız.

Aşağıda vermiş olduğum kodu komut satırınıza yazın.

composer require guzzlehttp/guzzle

kurulum işlemi bittikten sonra proje klasörünüze aşağıda isimlerini vermiş olduğum 3 dosya ve klasör eklenecektir.

  • vendor klasörü
  • composer.json dosyası
  • composer.lock dosyası

Ardından index.php dosyanızı açıp, en üst satıra aşağıda size vermiş olduğum kod parçasını yapıştırarak composer ile yüklediğimiz bu kütüphaneyi projemize dahil etmiş oluyoruz.

<?php
  
require_once __DIR__ . '/vendor/autoload.php';

Guzzle HTTP Nasıl Kullanılır ?

Diyelim ki bir adrese GET isteği atarak bir takım veriler almamız gerekti. Bunu aşağıda size vermiş olduğum örnekler gibi yapıyoruz.

<?php
  
// Daha önceden eklediğimiz alan  
require_once __DIR__ . '/vendor/autoload.php'; 

// Sınıfımızı başlattık
$client = new GuzzleHttp\Client();

// adresimizi tanımladık
$adres = "https://jsonplaceholder.typicode.com/users";

// adresimize get isteğimizi atıp gelen sonucu cevap değişkenine atadık
$cevap = $client->get($adres);

// ve cevabımızı ekrana yazdırdık
echo $cevap->getBody();

POST isteği

POST isteği genellikle veri ekleme işlemlerinde kullanılır. Bu isteği örnekteki gibi kullanabilirsiniz.

<?php
$cevap = $client->post('http://httpbin.org/post');

GET isteği

GET isteği ise adından da anlaşıldığı üzere veri alma işlemlerinde kullanılır. Bu isteği örnekteki gibi kullanabilirsiniz.

<?php
$cevap = $client->get('http://httpbin.org/get');

PUT isteği

PUT isteği genellikle veri güncelleme işlemlerinde kullanılır. Bu isteği örnekteki gibi kullanabilirsiniz.

<?php
$cevap = $client->put('http://httpbin.org/put');

DELETE isteği

DELETE isteği ise adından da anlaşıldığı üzere veri silme işlemlerinde kullanılır. Bu isteği örnekteki gibi kullanabilirsiniz.

<?php
$cevap = $client->delete('http://httpbin.org/delete');

PATCH isteği

PATCH isteği genellikle veri güncelleme işlemlerinde kullanılır. Bu isteği örnekteki gibi kullanabilirsiniz.

<?php
$cevap = $client->patch('http://httpbin.org/patch');

Base URL tanımlama

Base URL tanımlamak, istek adresini her defasında uzun uzun girmekten kurtarır.

<?php
  
$client = new Client([
    'base_uri' => 'https://blog.ozgurozalp.com/', // Kendi bağlantınız ile değiştirin
]);

Cevap durum kodu öğrenme

<?php
  
$cevap = $client->get('http://httpbin.org/get');
echo $cevap->getStatusCode(); // 200, 201 gibi HTTP status kodları döner

Bu makale için benim anlatacaklarım bu kadar umarım faydalı olmuştur.

Guzzle HTTP kütüphanesi için daha detaylı ve bol örnekli anlatım için kendi sitesindeki dökümanı okumanızı tavsiye ederim. Dökümana ulaşmak için tıklayın.

Not: Kendi dökümanı ingilizcedir.

“Guzzle HTTP Nasıl Kullanılır ?” için 6 yanıt

  1. Taylan avatarı
    Taylan

    Kaliteli bir içerik çok teşekür ederim.

    1. Özgür ÖZALP avatarı
      Özgür ÖZALP

      💚

  2. furkan avatarı
    furkan

    Teşekkürler

    1. Özgür ÖZALP avatarı
      Özgür ÖZALP

      Rica ederiz efenim 🙂

  3. Bilal YILMAZ avatarı
    Bilal YILMAZ

    Merhaba Özgür Bey;

    SOAP Servise request istek yapacağım. Diyelim şöyle bir XML model var.

    Malzeme-1
    CODE_1

    Özellik-1
    Özellik-2
    Özellik-3
    Özellik-4

    Bu yapıyı PHP array ile şöyle oluşturdum diyelim.
    $mal = array(“Malzeme” => array(
    “Adi” => “Malzeme-1”,
    “Code” => “CODE_1”,
    “Ozellikler” => array(
    “prop1” => “Özellik-1” ,
    “prop2” => “Özellik-1” ,
    “prop3” => “Özellik-1” ,
    “prop4” => “Özellik-1”
    )
    ));

    Bunu guzzle kullanarak hem GET ve hem de POST yöntemi ile nasıl göndermemiz gerekir?

    Guzzle küütüphanesini ilk kez, bu yazınız vesilesi ile kullandım. (Test olarak) sorunu çözümleyebilirsek gerçek ortamda kullanmayı düşünyorum.

    İlginiz için şimdiden teşekkür ederim.

    1. Özgür ÖZALP avatarı
      Özgür ÖZALP

      Merhabalar,

      Öncelikle geç cevap verdiğim için kusuruma bakmayın 🙁

      Aşağıdaki örnek sorunuza cevap olacaktır.

      Mutlu yıllar dilerim.

      $mal = [
          "Malzeme" => [
              "Adi" => "Malzeme-1",
              "Code" => "CODE_1",
              "Ozellikler" => [
                  "prop1" => "Özellik-1",
                  "prop2" => "Özellik-1",
                  "prop3" => "Özellik -1",
                  "prop4" => "Özellik-1"
              ]
          ]
      ];
      
      // Post olarak yollama
      $client->post("your-url", ["body" => $mal]);
      
      // Get olarak yollama
      $client->get("your-url", ['query' => $mal]);
      
      

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir