Php Restful Web Service Örneği

Php Restful Web Service Örneği

Merhabalar, Php restful ile ufak bir web service örneği yapacağız. MySql veri tabanındaki verilerimizi JSON ve XML formatında ekrana basacağız.Bir önceki yazımda sadece JSON olarak ekrana basıyorduk

Bu yazımda XML ve JSON olarak basacağız.  JSON ve XML formatlarını platform bağımsız her uygulamanızda kullanabilirsiniz. Biz hem JSON hem XML şeklinde biçimlendireceğiz. Siz istediğiniz formatı kullanabilirsiniz.

İlk önce bir veri tabanı oluşturalım:

CREATE DATABASE php_web_service;
Tablomuz:

CREATE TABLE kullanicilar(
id int(8) primary key auto_increment,
ad varchar(15) not null,
soyad varchar(15) not null,
cinsiyet varchar(15) not null,
email varchar(15) not null
);
 

Veri tabanı ve tablomuzu oluşturduk, şimdide PHP ile bu veri tabanındaki verileri biçimlendirelim.

Kodumuz:

<?php

// veri tabanından hangi kolonları çekecek burada belirliyoruz.
class veriler {
	public $ad = "";
	public $soyad = "";
	public $cinsiyet = "";

	function __construct($ad, $soyad, $cinsiyet) {
		$this->ad = $ad;
		$this->soyad = $soyad;
		$this->cinsiyet = $cinsiyet;
	}
}

class verileriFormatla{

	public function format_JSON(){

	$conn = new mysqli("localhost", "root", "", "php_restful_webservice");
	if($conn->connect_error)
		{
			echo "Veri tabanı bağlantı hatası : " . $conn->$connect_error;
		}

	$query = "SELECT * FROM kullanicilar";
	$kullanici_array = array();

	if($result = $conn->query($query)){

		while ($nesne = $result->fetch_object()){
			$gecici_kullanici = new veriler($nesne->ad, $nesne->soyad, $nesne->cinsiyet);
			$kullanici_array[] = $gecici_kullanici;
		}

		foreach ($kullanici_array as $value) {

			$kullanici_bilgisi = json_encode($value);
			echo $kullanici_bilgisi;
			echo '<br />';

		}

		$result->close();

		$conn->close();

		}
	}



	public function format_XML(){

		$conn = new mysqli("localhost", "root", "", "php_restful_webservice");
		if($conn->connect_error)
			{
				echo "Veri tabanı bağlantı hatası : " . $conn->$connect_error;
			}

		$query = "SELECT * FROM kullanicilar";
		$kullanici_array = array();
		if($result = $conn->query($query)){

		while ($nesne = $result->fetch_object()){

			$gecici_kullanici = new veriler($nesne->ad,$nesne->soyad, $nesne->cinsiyet);

			$kullanici_array[] = $gecici_kullanici;

			}
		}
		echo '<?xml version="1.0" encoding="UTF-8" ?>';
		echo '<veriler>';

		$a = 0;

			for ($i=0; $i < 3; $i++) {
			echo '<veriler>';

				foreach($kullanici_array[$a] as $key=>$value){
					echo '<' . $key . '>' . $value . '</' . $key . '>';
					echo "<br />";
    			}

    		$a=$a + 1;

    		echo '</veriler>';
			echo "<br />";

			}
		echo '</veriler>';
    }


}

$ekranabas = new verileriFormatla();

echo "JSON FORMATINDAKI VERILER";
echo "<br /><hr></hr>";

$ekranabas->format_JSON();

echo "<br /><hr></hr>";
echo "XML FORMATINDAKI VERILER";
echo "<br /><hr></hr>";

$ekranabas->format_XML();

?>
JSON çıktımız:

{"ad":"Mehmet","soyad":"Deniz","cinsiyet":"E"}
{"ad":"Ali","soyad":"Efe","cinsiyet":"E"}
{"ad":"Funda","soyad":"Arar","cinsiyet":"K"}
XML çıktımız:

<?xml version="1.0" encoding="UTF-8" ?>
<veriler>

  <veriler>

    <ad>Mehmet</ad><br />
    <soyad>Deniz</soyad><br />
    <cinsiyet>E</cinsiyet><br />

  </veriler><br />

    <veriler><ad>Ali</ad><br />
    <soyad>Efe</soyad><br />
    < cinsiyet>E</cinsiyet><br />

  </veriler><br />

  <veriler>

    <ad>Funda</ad><br />
    <soyad>Arar</soyad><br />
    <cinsiyet>K</cinsiyet><br />

  </veriler><br />

</veriler>
 

İşlemlerimiz bu kadar.

Sağlıcakla..

Burak Hamdi TUFAN


Tags


Share this Post

Send with Whatsapp

Post a Comment

Success! Your comment sent to post. It will be showed after confirmation.
Error! There was an error sending your comment. Check your inputs!

Comments

  • Thecodeprogram User
    Özkan

    çok başarılı devamını bekliyoruz Bu verilerin doğruluğunu nasıl kontrol ediyorsunuz ? Şimdiden teşekkürler...

    2015/08/29 20:11:04
    • Thecodeprogram User
      Mehmet Deniz

      Teşekkürler Özkan Bey, veriler direkt olarak veri tabanından geliyor. Web servisi tarayıcınızda çalıştırırsanız verilerinizi test edebilirsiniz.

      2015/08/29 20:26:37