27 Ağustos 2012 Pazartesi

PHP Web Service

Merhaba, Size PHP ile web service (SOAP) hizmetinden bahsedeceğim. Web service bir haberleşme standardıdır. Standart bir yapı olması nedeniyle projelerinizde kullanmış olduğunuz yazılım dillerinden bağımsız olarak düşünmeniz gerekecektir. Projeler aynı dille yazılmış olmaksızın veri alışverişi sağlayabilirsiniz. Kapsamlı projelerde ihtiyaç olarak doğan veri alışverişini sağlayabileceğiniz güzel bir altyapıyı PHP ile örnekleyerek anlatmaya çalışacağım. Sözü fazla uzatmadan örneklemelerime başlamak istiyorum. Aşağıdaki iki sayfayı çalışma ortamınızda oluşturmanızı isteyeceğim.
  1. server.php
  2. client.php
Server.php web service bağlantısı açarken, client.php bu hizmetten yararlanarak veri transferini gerçekleştirecektir. Ben local çalışma ortamıma www.project.mil hayali domain ile bağlandığım için örnekte de bu adresi verdim. Siz kendi çalışma ortamınıza göre düzenlemeler yapabilirsiniz.
<?php  class MyWebService{    const STATIC_EXAMPLE_MESSAGE = "hello web service";    public function getMessage(){  return self::STATIC_EXAMPLE_MESSAGE;  }  }    $server = new SoapServer(null,array("uri" => "http://www.project.mil/server.php"));  $server->setClass("MyWebService");  $server->handle();  ?>
Yukarıda ki örnekte MyWebService isimli class'ı web service de kullanılacak olan class olarak atadım. Yani client olarak bağlanan kullanıcılar "public" özelliğe sahip tüm methodları çağırabilirler. Bu arada web service altyapısı için illaki class kullanmak zorunda değilsiniz. Ancak ben class kullanmayı tercih ettim. Hizmete erişilecek olan adresi uri parametresi ile belirliyoruz ve class ismini atıyoruz. Bkz : http://php.net/soapserver Yukarıda ki aşamaları tamamladıysak artık dışarıdan gelen misafirleri karşılayabilir ve veri alışverişi sağlayabiliriz.
<?php  $options = array(  "uri" => "http://www.project.mil",  "location" => "http://www.project.mil/server.php"  );  $client = new SoapClient(null, $options);  $result = $client->getMessage();  echo $result;  ?>
Yukarıda ki örnekte az evvel oluşturduğumuz web service hizmetine bağlandık ve getMessage methoduna bağlanarak oradan dönen sonucu ekrana yazdırdık. Kodu çalıştırdığınızda ekrana "hello web service" yazdığını göreceksiniz. Görüldüğü üzere basit bir web service bağlantısı oluşturmuş olduk. Çeşitli hata ayıklama işlemleri, güvenlik işlemleri v.s. gibi çalışmalarla güçlendirerek projelerimizde ki veri alışverişi ihtiyacını gidermiş olabiliriz. Umarım faydalı olmuştur. Devamı için : PHP Web Service

Hiç yorum yok:

Yorum Gönder

Yorumunuzu esirgemeyiniz..