CodeBlanks Logo Icon CodeBlanks

HTTP yöntemleri

PHP kursu · İleri seviye · Ders 53/92

GET, POST, PUT ve DELETE HTTP yöntemlerini ve REST'te kullanımını öğrenirsin.

HTTP yöntemleri ve görevleri

REST API'lerde dört temel HTTP yöntemi kullanılır: GET bir kaynağı okur, POST yeni kaynak oluşturur, PUT var olan kaynağı günceller, DELETE kaynağı siler. Her yöntemin tek bir açık görevi vardır.

İstekte bulunan yöntem $_SERVER['REQUEST_METHOD'] ile okunur. Bir dış API'den veri çekmek için PHP'de file_get_contents işlevi bir URL'ye istek gönderip yanıtı dize olarak alabilir. Dönen dize decode ile diziye çevrilir.

file_get_contents ile dış istek

Bir API'den veri çekmek için file_get_contents işlevine bir URL verirsin. İşlev URL'ye istek gönderir ve yanıtı dize olarak döndürür. Dönen dize yapısal veri biçimindeyse, decode ile diziye çevirip içindeki alanlara erişirsin.

Yerel bir dosyayı da aynı işlevle okuyabilirsin; URL yerine dosya yolu verirsin. Bu sayede örnek veriyi dosyaya yazıp sonradan okuyarak istek akışını güvenle deneyebilirsin.

Uygulama Dosyadan okuyup diziye çevir

$file değişkeni bir dosya yolunu tutuyor ve içine örnek veri yazıldı. file_get_contents ile dosyayı oku ve $content değişkenine ata. Sonra decode ile $content'i diziye çevir (true ile) ve $data'ya ata. Son olarak $data['name'] değerini yazdır.

Örnek çözümü göster
file_get_contents ile $file'ı oku, decode ile $content'ı diziye çevir, name'i echo ile yazdır.
Örnek çözüm:
$content = file_get_contents($file);
$data = decode($content, true);
echo $data['name'];

Kendini test et

  1. Yeni bir kaynak oluşturmak için hangi HTTP yöntemi kullanılır?

    • GET
    • DELETE
    • POST
    • PUT
    Cevabı göster

    POST — Doğru. POST yöntemi yeni bir kaynak oluşturmak için kullanılır.

  2. HTTP yöntemlerini görevleriyle eşleştir

    GET
    kaynağı okur
    POST
    yeni kaynak oluşturur
    PUT
    kaynağı günceller
    DELETE
    kaynağı siler
  3. Dosyadan dize oku

    $file = sys_get_temp_dir() . '/api_data.txt';
    file_put_contents($file, '{"name":"Ayşe"}');
    $content = ____($file);
    $data = decode($content, true);
    Cevabı göster
    $file = sys_get_temp_dir() . '/api_data.txt';
    file_put_contents($file, '{"name":"Ayşe"}');
    $content = file_get_contents($file);
    $data = decode($content, true);

İleri seviye bölümündeki tüm dersler