Curl ile uzak konumdan kolaylıkla veriler çekebiliriz. Api ler oluşturabiliriz, Örneğin farklı bir web sitesindeki sorgulamayı, Curl ile sorgulayabilir ve bu sorgulamayı sanki biz yapıyormuşuz gibi kullanıcıya gösterebiliriz. jsonplaceholder.typicode.com web sitesinden kendinize fazlasıyla örnek json dosyaları bulabilirsiniz.
İlk olarak Curl ile jsonplaceholder.typicode.com/user adresindeki kullanıcı isimli json dosyasından örnek kullanıcıları çekeceğiz.
$cURL = curl_init();
curl_setopt_array($cURL,
[
CURLOPT_URL => 'https://jsonplaceholder.typicode.com/users',
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_RETURNTRANSFER => 1
]);
$x = curl_exec($cURL);
curl_close($cURL);
print_r($x);
Uzaktan çektiğimiz veriyi ekrana yazdırdığımız zaman belirli bir düzende olmadığını ve veriyi işleyemediğimizi fark edeceksiniz. Veriyi tekrar json formatına dahil etmek için json_decode()
fonksiyonu ile veriyi yapısal olarak json formatına çeviriyoruz. İkince parametre olarak, true değerini kullanırsak Veriyi diziymiş gibi müdahale etmemiz gerekecek ve elimizde json yapısında bazı değerlere ulaşamıyor olacağız bu nedenle false olarak kullanım sağlıyoruz.
$data = json_decode($x, FALSE);
echo "<pre>";
print_r($data[1]);
Yukarıdaki örnekte data içerinden veri çekerken diziymiş gibi davranmamızın sebebi user json dosyasını incelediğinizde birden fazla kullanıcının olduğu göreceksiniz. Ve bu kullanıcılara erişim indis numaraları ile sağlanabilir.
user içerisinde bir kullanıcının name ine ulaşmak için
$data = json_decode($x, FALSE);
echo "<pre>";
print_r($data[1]->name);
Yukarıdaki gibi ulaşım sağlayabiliriz.
Yorum yapabilmek için giriş yapmanız gerekmektedir.