Bu içerik, sadece içeriği yaratan kullanıcı profilinde listelenmektedir. Onedio ana sayfasından, kategori sayfalarından ve arama motorlarından bu içeriğe ulaşılamaz.

Bu içerik, sadece içeriği yaratan kullanıcı profilinde listelenmektedir. Onedio ana sayfasından, kategori sayfalarından ve arama motorlarından bu içeriğe ulaşılamaz.

Bu içerik Onedio üyesi kullanıcı tarafından üretilmiş, Onedio editör ekibi tarafından müdahale edilmemiştir. Siz de Onedio’da dilediğiniz şekilde içerik üretebilirsiniz.

Xml dökümanı nedir ?

Abone ol

Xml dökümanı nedir ?

Xml dökümanı nedir ?

XML platformlar arası bir haberleşme dili olarak daha hızlı evrensel bir dildir. Xmlbazılarına göreyse yeni bir web devrimidir.XML bazen dokümanları depolamak amacı ile birveri tabanı olarak kullanılır.Fakat XML nin temel amacı veri depolamak değildir.XML ingeliştirilmesinin temel amacı bir sistemden diğerine ortak bir format içinde bilgileri
geçirmektir.

XML (eXtensible Markup Language) bir data formatıdır.XML yapılandırılmışdokümanların web üzerinde el değiştirilmesi için geliştirilmiştir. World Wide Webconsortium(w3c) tarafından tanımlanmış bir standarttır. XML hakkında bilgiye ve onunla ilişkili teknolojiler http://www.w3.org/XML adresinden bulunabilir.

XML Dokümanlarının PHP ile Kullanılması

Bazı özel karakterler probleme sebep olabilir.Örneğin <,> karakterleri taglar için
kullanılır.XML içinde kullanılan <,>karakterlerine bir tag olarak davranılır.
Entity kavaramı özel karakterlerin kullanılması olanaklı kılmak için kullanılır.
Entity karakter kombinasyonudur.Bu kombinasyon bir & karakteri ile başlar ve ; karakteri ile
biter.
XML dokümanı içinde özel karakterleri kullanmak yerine bu kombinasyonu kullanabilirisin.
Entity ler olması gerektiği gibi tanınırlar ve özel karakterler olarak davranılmazlar.
Örneğin < karakterini göstermek için &lt; kombinasyonunu ve < karakterini göstermek içinse
&gt; karakterini kullanabilirsin.
Entity leri kullandığın zaman özel karakterler dokümanına dahil edilir ve bunlara bir tag
olarak davranılmazlar.
Entity ler ayrıca ascii olamayan karakterlerin dokümanınıza girilmesi içinde kullanılır örneğin
€ ve ë karakterleri.Bu iki karakter için entity ler &euro; ve &euml; dir. http://www.w3.org/
TR/REC-html40/sgml/entities.html. özel karakterler için entity listesidir.& karakter için
&amp;XML DÖKÜMANLARINI ÇÖZÜMLEMEK
XML DÖKÜMANININ ÇÖZÜMLENMESI

Xml dokümanı okumak için iki teknik kullanılır :SAX(Simple Api for XML )
DOM(Document Object Model).SAX :XML dokümanı boyunca ilerlerken her tag
başlangıcında ve bitişinde ya da farklı bir element ile karşılaşıldığında bir olay ateşlenir.Bu
ateşlenen olaylara hangi fonksiyonları bağlayacağını ve bu fonksiyonların bu olaylar
karşılığında hangi komutlarla karşılık vereceğini kodlamalısın. (nasıl yöneteceğine karar
vermelisin.)DOM:Bu metoda göre tüm XML bir ağaç yapısındadır.Bu ağaç yapısı içinde PHP
fonksiyonları kullanarak gezinebilirsin
Not:PHP diğer bir yol daha sunar bu yol SimpleXML Extension u kullanmaktır.
S.imple A.pi for X.ml (SAX)
lk olarak bir parser nesnesi yaratmalıyız ve daha sonra bu olayları yönetmek için kodlarımız
yazmalıyız.
$xml = xmlparsercreate('UTF-8');
Bu fonksiyon başarı ile çalıştığı zaman ,bir XML parser yöneticisi döndürür Bu yönetici diğer
XML parsing fonksiyonları ile kullanılır.
3-14
XML Dokümanlarının PHP ile Kullanılması
Sax olay yönetimi mantığı ile çalışır.Bu olayları yönetmek için olay yöneticileri (fonksiyon
lar) geliştirmeliyiz.Bu temel örnekte üç olayı yönetmeye çalışacağız bu olaylar;tag açılışı ,tag
kapanışı ve karakter verisine rastlanması olaylarıdır.Bu olaylar önemlidir.
xmlsetelementhandler($xml, 'starthandler', 'endhandler');
xml
setcharacterdatahandler($xml, 'characterhandler');
Bu fonksiyonlar ile iki yöneticiyi tanımlarız.Bu tanımlamalar herhangi bir olay meydana
gelmeden yapılamalıdır.Şimdi yönetici fonksiyonların nasıl tanımlandığına bakalım.
Bir önceki ifadede start_handler yönetici fonksiyonu üç parametreyi alır. lk parametre XML
parser object ,ikincisi tagın ismi ,son parametre ise bir dizidir.Bu dizide taga ait tanımlayıcı
attribute ler.TAG BAŞLANGICI

Tag isimleri varsayılan olarak büyük harf ile geçirilir.Bu durumu değiştirmek için aşağıdaki
ifadeyi kullanın.Bu ifadedeki xml değişekeni xml parser nesnesidir.
xmlparsersetoption($xml, XMLOPTIONCASEFOLDING, false);
function starthandler ($xml, $tag, $attributes)
{
global $level;
echo "n". str
repeat(' ', $level). ">>>$tag";
foreach ($attributes as $key => $value) {
echo " $key $value";
}
$level++;
}
TAG KAPANIŞI
Sadece XML nesnesi ve tag ismi gönderilir.
function endhandler ($xml, $tag)
{
global $level;
$level--;
echo str
repeat(' ', $level, ' '). "<<<$tag;
}
Bütün içiriği göstermekte kullanacağız birde karakter yöneticisine ihtiyacımız olacak.Bu
yönetici içinde gösterilecek olan içiriğin düzgün görünmesi için içerik düzenlenir.
function characterhandler ($xml, $data)
{
global $level;
$data = split("n", wordwrap($data, 76 – ($level * 2)));
4-14
XML Dokümanlarının PHP ile Kullanılması
foreach ($data as $line) {
echo str
repeat(($level + 1), ' '). $line. "n";
}
}
Bütün olay yöneticilerimiz tanımladıktan sonra XML dosyamızı çözümlemeye başlayabiliriz.
xmlparse($xml, filegetcontents('test1.xhtml'));
Tüm scriptin kodları:
1. <?php
2. function startElement($xml
parser, $name, $attributes) {
3. print("<p><i>Encountered Start Element For:</i>$namen");
4. }
5.
6. function endElement($xmlparser, $name) {
7. print("<p><i>Encountered End Element For:</i>$namen");
8. }
9.
10. function characterData($xml
parser, $data) {
11. if($data != "n") {
12.
print("<p><i>Encountered Character Data:</i>$datan");
13. }
14. }
15.
16. function load_data($file) {
17. $fh = fopen($file, "r") or die ("<P>COULD NOT OPEN FILE!");
18. $data = fread($fh, filesize($file));
19. return $data;
20. }
21. / MAIN /
22. $file = "simple.xml";
23. $xmlparser = xmlparsercreate();
24. xml
setelementhandler($xmlparser, "startElement", "endElement");
25. xml
setcharacterdatahandler($xmlparser, "characterData");
26. xmlparse($xmlparser, loaddata($file)) or
27. die ("<P>ERROR PARSING XML!");
27. xml
parserfree($xmlparser);
28.?>
SP LT:
Bir dizi döndürür.Eleman sayısı son parametre ile sınırlandırılabilir. lk parametre ile string
parçalara bölünür.Her parça fonksiyonun dönüş dizisinin bir elemanının karşılığıdır. kinci
parametre ise parçalara ayrılacak string tipinde değişkendir.
array split ( string pattern, string string [, int limit])
<?php
// Delimiters may be slash, dot, or hyphen
5-14
XML Dokümanlarının PHP ile Kullanılması
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />n";
?>
$date değişkeni slash nokta ya da tire karakteri ile parçalara ayrılır ve her parça dönüş
dizisindeki bir elemana atanır.Sonra bu dizinin elemanları sırası ile $month,$day ve $year
değişkenlerinde saklanır ve ekrana yazdırılır.Bu örnekteki materyal olan string düzenli bir
ifade kullanılarak parçalara yarılmıştır.
Document Object Model(D.O.M)
SAX metodu ile xhtml veya xml dokümanlarını çözümleme işlemi için çok kod yazmamız
gerekir.DOM metodu çok daha basittir fakat bunun bir bedeli vardır –bellek kullanımı.Fakat
böyle olmakla beraber bizim küçük örneğimiz için bu dikkate alınmayabilir.Fakat dosya
20MB büyüklüğünde olduğunda DOM metodunu kullanırken buna kesinlikle dikkat
etmeliyiz.DOM XML dosyanız içindeki her bir elementin ateşlenen olayı için bellekte bir
ağaç yapısı oluşturur.
Biz tree nesnesi boyunca yürüyerek taglar olmadan tüm içeriği gösterebiliriz.
1 <?php
2 $dom = new DomDocument();
3 $dom->load('test2.xml');
4 $root = $dom->documentElement;
5
6 processchildren($root);
7
8 function process
children($node)
9{
10 $children = $node->childNodes;
11
12 foreach ($children as $elem) {
13 if ($elem->nodeType == XMLTEXTNODE) {
14 if (strlen(trim($elem->nodeValue))) {
15 echo trim($elem->nodeValue)."n";
16 }
17 } else if ($elem->nodeType == XMLELEMENTNODE) {
18 process_children($elem);
19 }
20 }
21 }
22 ?>
Taglara ait olan attribute değerlerini elde etmek için getattribute metodu kullanılır.Bu metot
domelement sınıfına aittir.
$elem->getAttributeNode('background');
6-14XML Dokümanlarının PHP ile Kullanılması

<?php
$dom = new DomDocument();
$dom->load('test2.xml');
$body = $dom->documentElement->getElementsByTagName('body')->item(0);
echo $body->getAttributeNode('background')->value. "n";
?>
Belirli
bir
elementinin
attribute
değerini
elde
etmek
için
$tagismi=getElementsByTagName(‘tag
ismi’)->item(0);
ile
element
elde
edilir.getAttributeNode(‘attribute
ismi’)->value; ile elemente ait olan attribute değeri elde
edilir.
Creating Dom Tree
DOM uzantısı XML dosyasını çözümlemekten daha fazlasını yapabilir.Bu uzantı ayrıca bir
XML doküman yaratabilir.Kodun içerisinden bir nesne ağacı oluşturabilirsin ve bunu bir xml
dosyası olarak diskte saklayabilirsin.
<?php
$dom = new DomDocument();
$html = $dom->createElement('html');
$html->setAttribute("xmlns", "http://www.w3.org/1999/xhtml");
$html->setAttribute("xml:lang", "en");
$html->setAttribute("lang", "en");
$dom->appendChild($html);
$head = $dom->createElement('head');
$html->appendChild($head);
$title = $dom->createElement('title');
$title->appendChild($dom->createTextNode("XML Example"));
$head->appendChild($title);
/ Create the body element /
$body = $dom->createElement('body');
$body->setAttribute("backgound", "bg.png");
$html->appendChild($body);
/ Create the p element /
$p = $dom->createElement('p');
$body->appendChild($p);
/ Add the "Moved to" /
$text = $dom->createTextNode("Moved to ");
$p->appendChild($text);
/ Add the a /
$a = $dom->createelement('a');
$a->setAttribute("href", "http://example.org/");
$a->appendChild($dom->createTextNode("example.org"));
$p->appendChild($a);
/ Add the ".", br and "foo & bar" /
$text = $dom->createTextNode(".");
$p->appendChild($text);
$br = $dom->createElement('br');
$p->appendChild($br);
$text = $dom->createTextNode("foo & bar");
7-14
XML Dokümanlarının PHP ile Kullanılması
$p->appendChild($text);
echo $dom->saveXML();
?>
DomDocument sınıfı new DomDocument ile yaratılır.createElement çağrısı ile bütün
elementler oluşturulur.COMMUNICATING WITH XML

Uygulamalar bir çok yolla internet yolu ile haberleşirler.Bunların bir çoğunu zaten
biliyorsunuz.TCP/IP ve UDP/IP kullanılır fakat bunlar düşük seviyeli aktarım
protokolleridir.Sistemler arasında haberleşme zordur. Bunu sebebi sistemlerin hafızaları
içinde tutukları datayı farklı metotlar ile saklamalarınıdır.Başka bir nokta ise insanların
platformlar arasında sağlam ve güvenilir bir teknoloji istemesidir.Bir çözüm :RPC(Remote
Procedure Calls)Fakat bu metodu kullanmak kolay değildir çünkü Windows sistemlerdeki
tanımlama Unix sistemlerden faklıdır.XML genellikle en iyi çözümdür.XML farklı
platformlar üstündeki uygulamaların standart bir formatı kullanarak haberleşmesini olanaklı
kılar.XML ASCII datadır.Bu yüzden sistemler arasındaki farklılık minimize edilmiştir.Diğer
bir fark iki sistemin farklı tarih gösterimleidir : Dec 25 16:58:40 CET 2002, Wed 2002-12-25.XML-RPC
ve SOAP XML tabanlı protkoldür.SOAP geniş bir protokoldür ve özellikle haberleşme için
tasarlanmıştır.XML –RPC

XML-RPC istek ve yanıt protokolüdür.Sunucuya tapılan her request
bir response
döndürür.Response geçerli bir yanıt olabileceği bir hata da olabilir.Request ve Response
paketleri bir XML olarak kodlanır.Paketler içindeki değerler farklı imler(<array /> ,<data
/>...) ile kodlanır. XML-RPC şartnamesinde bir takım tipler tanımlanır.Veriler bu tiplere
dönüştürülerek taşınırlar.
XML-RPC Type Description Example Value
<i4 /> or <int /> Four-byte signed integer -8123
<boolean /> 0 (false) or 1 (true) 1
<string /> ASCII string Hello world
<double /> Double-precision signed
floating-point number
91.213
<dateTime.iso8601 /> Date/time 200404021T14:08:55
<base64 /> Base 64-encoded binary eW91IGNhbid0IHJlYWQgdGhpcyE
Bir değer iletildiğinde o <value/> imi içine yazılır. Aşağıdaki gibi
<value><dateTime.iso8601 />20021221R14:12:81</dateTime.iso8601><value>
Bileşik veriler <array /> imi ile tanımlanırlar.Bu im ile tanımlanan veriler ilişkisel değildirler
lişkisel dizleri için <struct /> imi kullanılır.
<array>
<data>
<value><int>1</int></value>
<value><string>Hello!</string</value>
8-14
XML Dokümanlarının PHP ile Kullanılması
</data>
</array>
Göründüğü gibi 1 ve Hello! Değeri <data /> imi içindedir.Bu im <array /> iminin çocuk
imidir.Bundan başka <struct /> imi değerler ile ilişkili bir anahtara sahiptir.Böylelikle XML
dokümanı biraz daha karmaşık bir yapıda gözükür.
<struct>
<member>
<name>key-een</name>
<value><int>1</int></value>
</member>
<member>
<name>key-zwei</name>
<value><int>2</int></value>
</member>
</struct>
Request ve Response içinde datalar farklı özel imlerin içindedirler .
RESPONSE
XML-RPC içindeki Request http sunucusu üzerindeki normal POST requestidir. Fakat bazı
özel ilavler vardır.
<?xml version="1.0"?>
<methodCall>
<methodName>hello</methodName>
<params>
<param>
<value><string>Derick</string></value>
</param>
</params>
</methodCall>
Her bir RPC request çağrısı <meodCall /> iminden meydana gelir.Bunu metot ismi imi
takip eder bu im uzak metot ismini belirtir. Her bir parametre param elementi içine
geçirilir.Param imleri params imi ile gruplandırılır.Params elementi metot ismini belirten imin
alt imidir.Bu XML-RPC paketi hello uzak fonksiyonunu çağırır ve Deric parametresini
geçirir.RESPONSE

Fonksiyon çağrısından sonra bir XML- RPC response çağırıcı programa döndürülür.Bu
response XML olarak kodlanmıştır.Burada temel olarak iki tip response ile
karşılaşılabilir.Normal response veya bir hatayı bildiren response.
Normal bir response <metodResponse /> iminin alt imi olan <params /> ile ayır
edilebilir.Başarılı bir metodResponse her zaman bir <params /> alt imine sahiptir.Bu im ise
her zaman bir <param> alt elementine sahiptir.Fonksiyonun içinden birden fazla değer
döndüremezsin .Fakat bir <array /> yada <struct /> imi döndürebilirsin.Bir önceki bölümün
içindeki requeste ait olan sonucu metodResponse gösterir.
9-14
XML Dokümanlarının PHP ile Kullanılması
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><string>Hi Derick!</string></value>
</param>
</params>
</methodResponse>
Fault
Bütün istekler(request) normal bir yanıt(response) döndürmezler ve her şey beklenildiği gibi
çalışmayabilir.Her şey istenildiği gibi çalışmadığı zaman bir <fault /> imi döndürülür.Bu im
<params /> elementinin yerine geçer.<fault /> imi iki üyeye sahip bir <struct /> imi içerir.Bu
üyeler faultCode ve faultString imleridir.
<?xml version="1.0"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>3</int></value>
</member>
<member>
<name>faultString</name>
<value><string>Incorrect parameters passed to method<
string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
The Client
Bizim lokal makinemizden XML-RPC fonksiyonunu çağırmak için basit bir client script
yazacağız.Bu uygulama için XMLRPC Pear Sınıfı kullanacağız.
<?php
require
once "XML/RPC.php";
$client = new XMLRPCClient('/chap14/xmlrpcexample.php','localhost');
lk olarak XMLRPC sınıfını include edilir ve bir XMLRPC Client nesnesi hazırlanır.
Nesne Yapılandırıcısı(constructor) içindeki ilk parametre uzak makine üzerindeki XMLRPC
sunucusunun yoludur. kinci parametre ise makinenin ismidir.
10-14
XML Dokümanlarının PHP ile Kullanılması
function call
method (&$client, &$msg)
{
/ Send the request /
$p = $client->send($msg);
/ Check for an error, and print out the error message if
necessary /
if (PEAR::isError($p)) {
echo $p->getMessage();
}else {
/
Check if an XML RPC fault was returned, and display
the faultString /
if ($p->faultCode()) {
print $p->faultString();
return NULL;
} else {
/ Return the value upon a valid response /
$res = $p->value();
return $res;
}
}
}
Bir fonksiyon yazarak devam ediyoruz bu fonksiyon XMLRPC CLIENT nesnesini
kullanarak uzak fonksiyonu çağırır ve bir hata kodu dönüp dönmediğini kontrol eder.
/ Construct the parameter array /
$vals = array (
new XMLRPCValue('Derick', 'string')
);
/ Construct the message with the functionname and
the parameter array */
$msg = new XMLRPCMessage('hello', $vals);
/ Send the message and store the result in $res /
$res = callmethod($client, $msg);
/* If the result is non-null, decode the XML
RPC_Value into a PHP
variable and echo it (we assume here that it returns a
string */
if ($res !== NULL) {
echo XMLRPCdecode($res)."n";
}
XMLRPC fonksiyonunu daha önce tanımladığız fonksiyon ile çağırırız.Bundan önce bu
fonksiyona geçirilecek olan parametreler düzenlenir.Parametreler için tipler tanımlanır.
Fonksiyona parametrelerin tipleri açık yada dolayalı olarak geçiririz.XML
RPCMessage
nesnesinde fonksiyon adını , fonksiyona geçilecek parametrenin değer ve tipini belirten
parametreyi belirtiriz.
11-14
XML Dokümanlarının PHP ile Kullanılması
XML
RPCValue nesnesini kullanmak yerine XMLRPC_encode(<value>) çağrısı ile PHP
değiken tiplerini en uygun XML-RPC değişken tiplerine dönüştüren fonksiyonu da
kullanabilir.
Aşağıdaki örnek iki double değişkenini adds fonksiyonuna geçer ve bu fonksiyon ise iki
sayıyı toplayıp bir sonuç döndürür.
/ Somewhat more example with explicit types and multiple parameters /
$vals = array (
XMLRPCencode(80.9),
XMLRPCencode(-9.71)
);
$msg = new XMLRPCMessage('add', $vals);
$res = callmethod($client, $msg);
echo XML
RPCdecode($res)."n";
XML
RPCdecode fonksiyonu XMLRPCencode fonksiyonunun tam teri
yapar.XML
RPC tiplerinden uygun PHP tiplerine değişkenlerin tiplerini dönüştürür.
işlemRETROSPECTION

Internet üzerinde bir yerde XML-RPC sunucusu ile karşılaşırsan hangi fonksiyonun
kullanabileceğini öğrenmek isteyebilirisin.XML-RPC desteklene fonksiyonları bulur bu size
server üzerinde fonksiyon çağrısı için gerek tüm bilgileri sunar.Retrospection olarak
adlandırılır.’system.listMethods’ fonksiyonu ile bir dizi elde edebilirisin.Bu dizi bütün dış
fonksiyonları içerir.
/ Complex example which shows retrospection /
$msg = new XMLRPCMessage('system.listMethods');
$res = callmethod($client, $msg);
foreach (XML
RPCdecode($res) as $item) {
$vals = array (XML
RPCencode($item));
$msg = new XML
RPCMessage('system.methodHelp', $vals);
$desc = XML
RPCdecode(callmethod($client, $msg));
$msg = new XMLRPCMessage('system.methodSignature', $vals);
$sigs = XMLRPCdecode(call_method($client, $msg));
$siginfo = '';
foreach ($sigs[0] as $sig) {
$siginfo .= $sig. " ";
}
echo "$itemn". wordwrap($desc). "nt$siginfonn";
}
?>SERVER

Server yazmak bir client yazmaktan daha zor değildir.XML/RPC.php dosyasını eklemek
yerine, sunucu fonksiyonlarını yerine getiren server.php dosyasını ekleyeceğiz.
getValues: Bu metodu bir dizi döndürür .Bu dizinin her parametresi fonksiyona geçirilir.
XMLRPCdecode:Her eleman XML RPC tipinden PHP tiplerine dönüştürülür.
12-14
XML Dokümanlarının PHP ile Kullanılması
Biz basitçe bir XMLRPCValues nenesi döndürürüz.Bu nesne string tipinde bir sonuç içirir.
Fonksiyonların dışarıdan elde edilebilir olması için bunları tanımalıyız. Fonksiyona geçirilen
parametreler fonksiyon ismi fonksiyon açıklaması bir dizi içine yerleştirmeliyiz.Her
fonksiyon için ayrı dizler oluşturulur.Tanımlanmış fonksiyonların elde edilebilir olması için
hazır XMLRPC sınıfını kullanırız.Bu sınıfın kurucusu istekleri(request) ve fonksiyon
çağrılarını çözümler.
Client Script Kodları:
<?php
//istemci
$path=$
SERVER['DOCUMENTROOT'];
$path=$path."/../php/pear/XML/RPC.php";
require $path;
$client=new XML
RPCClient('/server/myserver.php','localhost');
function call
method(&$client, &$msg)
{
/ Send the request /
$p = $client->send($msg);
$res = $p->value();
return $res;
}
echo "Siniftan nesne üretildi ve foksiyon tanimlandi.";
$msg = new XMLRPCMessage
("hello", array(new XMLRPCValue('Wild Bison', 'string')));
$res = callmethod($client, $msg);
if ($res == NULL) {
echo "deger yok";
}else echo XML
RPCdecode($res)."n";
echo "<br> iki sayinin toplami:<br>";
$vals=array(
XML
RPCencode(14.0),
XML
RPCencode(20.2),
);
$msg=new XML
RPCMessage('add', $vals);
$res=call
method($client,$msg);
echo XMLRPCdecode($res);
?>
Server Script Kodları:
<?php
$path=$_SERVER['DOCUMENTROOT'];
$path=$path."/../php/pear/XML/RPC/Server.php";
require($path);
function hello($args)
{
$val=$args->getParam(0);
$val=$val->scalarval();
13-14
XML Dokümanlarının PHP ile Kullanılması
$val="Hi $val !";
return new XML
RPCResponse(new XMLRPCValue($val, 'string'));
}
function add($args)
{
$val0=$args->getParam(0);
$val0=$val0->scalarval();
$val1=$args->getParam(1);
$val1=$val1->scalarval();
return new XML
RPCResponse(new XMLRPC_Value($val0+$val1,'double'));
}
$method = array(
'hello'=>array( 'function'=>'hello',
'signature'=>array( array($GLOBALS['XMLRPCString'], $GLOBALS['XMLRPCString'])),
'docstring' =>'Greets you.'),
'add'=>array( 'function'=>'add',
'signature'=>array(
array($GLOBALS['XMLRPCDouble'],$GLOBALS['XMLRPCDouble'],$GLOBALS['XMLRPCDouble'])),
'doc string'=>'iki sayiyi toplar'));
$server = new XMLRPCServer($method);
?>

Haberin Tamamı İçin:

Bu içerik, sadece içeriği yaratan kullanıcı profilinde listelenmektedir.

Bu içerik Onedio üyesi kullanıcı tarafından üretilmiş, Onedio editör ekibi tarafından müdahale edilmemiştir. Siz de Onedio’da dilediğiniz şekilde içerik üretebilirsiniz.

BU İÇERİĞE EMOJİYLE TEPKİ VER!
Helal olsun!
Hoş değil!
Yerim!
Çok acı...
Yok artık!
Çok iyi!
Kızgın!
YORUMLAR İÇİN TIKLAYINIZ
Görüş Bildir