PHP Json ile Web Servisi Kullanma

PHP ile JSON Web Servisi kullanımını örneklendirdim.

×

Merhabalar, bu yazımda PHP ile JSON kullanmayı, JSON ile Web Servisleri arasında haberleşmenin nasıl sağlanabileceğine ve farklı Yazılım Dilleri ve Yazılım Platformlarında herhangi bir yazılım dili ile nasıl haberleşilebilir örneklerine değinmiş olacağım. Yararlı olması dileğiyle.

Öncelikle, JSON nedir ile başlayalım, bilmeyenler yada tam manasıyla anlamış olmayanlar olabilir.

JSON verileri, Aşağıdaki veri tiplerini desteklemektedir;

JSON verilerini nerelerde kullanabileceğinize örnek verecek olursak;

PHP JSON

PHP input ile, Android Rest PUT (Restful) örneğine değinelim;

header('Content-Type: text/html; charset=utf-8');
mysql_connect("localhost","root","")or die("not connected"); 

mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER_SET utf8');
mysql_select_db("testdb");
$json = file_get_contents('php://input'); //Şuanda web servisine Resful ile gelen verileri çekiyoruz.
$obj = json_decode($json);
//Android tarafında, Rest put methodunda verdiğimiz key değerlerini kullanarak , çektiğiniz değerleri veritabanına insert etmek için kullanabilirsiniz.
$insertSql = "INSERT INTO users (id,name) VALUES (NULL,'".$obj->{'name'}."')";

mysql_query($insertSql);
mysql_close();

?>

Diğer bir örneğimizde ise, veritabanından ilgili tablodan verileri json ile çekerek istediğimiz yerde okutabilir ve yorumlatabiliriz.

JSON ile veritabanından veri okuma ve gösterme;

header('Content-Type: text/html; charset=utf-8'); 

mysql_connect("localhost","root","")or die("not connected");
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER_SET utf8');
mysql_select_db("testdb");
 
$result=mysql_query("select * from users limit 1");
$row=mysql_fetch_assoc($result);
 
//Veritabanından çekilen datayı json ile encode ederek, Web servisine iletiyorum.
$outputArr = array();
$outputArr['getJson'] = $row;
print_r(json_encode($outputArr));
mysql_close();
?>

Farklı bir örneğimizde ise, a sitesinden b sitesine veri taşımadan bahsedelim.

Bu örneğimiz ise "Posting JSON Data with PHP" olarak geçiyor.

Veriyi gönderen siteye jsonPost.php adlı bir dosya açın ve içeriğine aşağıdaki kodları yazın;

$data = array('name' => 'Şerif', 'surname' => 'GÜNGÖR', 'age' => '21');
$data_string = json_encode($data);

$result = file_get_contents('https://verigonderileceksite.com/postData.php', null, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/json' . " "
. 'Content-Length: ' . strlen($data_string) . " ",
'content' => $data_string,
),
)));

echo $result;

?>

Veri göndereceğiniz sitenin kontrolü sizin elinizde olmalı, veri göndereceğiniz siteye postData.php açın ve içine aşağıdakileri yazın;

$body = @file_get_contents('php://input');
echo $body;
echo "sent ok !";
?>

Kodu açıklayacak olursak, veri gönderen site ilgili dataları dizi şeklinde, veriyi alacak olan siteye yolluyor, herhangi bir problem yaşanmadıysa veriyi alan siteden cevap dönüyor.

Yararlı olması dileğiyle.

💬 Yorumlar
Henüz yorum yapılmamış. İlk yorumu sen yap! 👆