arşiv

0, 2009 için arşiv

LOST 5×07 The Life and Death of Jeremy Bentham – ABC Promo

Pazartesi, 23 Şub 2009 Soner Gönül View Comments

Lost’un 5. sezon 7. bölümü olan The Life and Death of Jeremy Bentham adlı bölümün ilk promosu yayınlandı. Lost hayatımızın bir parçası haline geldi tamamen. Kafamızdaki sorulara cevap bulmak için üzerinde çeşitli teoriler üretiyoruz. Cevaplayamadığımız soruları başkalarıyla paylaşıyoruz. Bu sefer de başkalarından duyduğumuz teoriler üzerinde kafa patlatmaya başlıyoruz. En azından ben böyle yapıyorum :) . Bundan sonra da promolarını yayınlamaya devam etmeye çalışacağım ;) . Hadi buyrun;

DipNot: 5×07′de John Locke’un intiharının tüm gizemini öğrenmiş olacağız ;)

Related posts

PHP ile RSS

Pazar, 22 Şub 2009 Soner Gönül View Comments

Merhabalar..Bu yazımla RSS’in ne olduğundan ve PHP ile kullanımından bahsedeceğim.

RSS (really simple syndication) belli standarttaki bir XML dosyasıdır. RSS kullanarak günümüzde genellikle haber ve güncellenen diğer içeriklerin web üzerinden paylaşımı söz konusudur. Bu dosyanın uzantısı xml ya da rss olabilir. RSS dosyasının temeli şu şekildedir;

  1. <?xml version=”1.0″ encoding=”utf-8″ ?>
  2. <rss version=”2.0″>
  3. <channel>
  4. <title>Soner Gönül’den Haberler</title>
  5. <description>Yazılım ile ilgili Güncel Haberler</description>
  6. <link>http://sonergonul.com/blog/test1.xml</link>
  7. <category>PHP</category>
  8. <copyright>Soner Gönül Ajans</copyright>
  9. <language>tr</language>
  10. <image>
  11. <title>Soner Gönül Logosu</title>
  12. <link>http://sonergonul.com</link>
  13. <url>http://sonergonul.com/favicon.ico</url>
  14. </image>
  15. <item>
  16. <title> Birinci Haber </title>
  17. <link>http://sonergonul.com/haber1.html</link>
  18. </item>
  19. <item>
  20. <title> İkinci Haber </title>
  21. <link>http://sonergonul.com/haber2.html</link>
  22. </item>
  23. </channel>
  24. </rss>

Burada title; rss kanalının başlığını, description; bilgi verilen kanal ile açıklamayı, link; kanalın hangi adresten yüklendiğini, category; hangi alanda bilgi aktarıldığını, copyright; rss dosyasının kopyalama haklarını, language; kullanılan dili ifade eder.

  • RSS Verilerinin Okunması

RSS verileri XML yapısında olduğundan PHP ile birlikte gelen SimpleXML eklentisiyle okunabilir. XML olduğu gibi burda da nesneye dönüştürme söz konusudur.

  1. <?php
  2. $rssURL = “http://sonergonul.com/blog/test1.xml”;
  3. $rss = simplexml_load_file($rssURL);
  4. echo count($rss->channel->item) . ” haber bulundu.”;
  5. ?>

3. satırda RSS dosyası nesne değişkenine dönüştürülmüştür. Dizi tipindeki bu nesnelerin kaç tane olduğu ise count() fonksiyonu yardımıyla bulunabilir. Şimdi ise haberleri alt alta yazdırmayı öğrenelim.

  1. <?php
  2. $rssURL = “http://sonergonul.com/blog/test1.xml”;
  3. $rss = simplexml_load_file($rssURL);
  4. $habersayisi = count($rss->channel->item);
  5. for ( $i=0; $i<$habersayisi; $i++)
  6. {
  7. $baslik = $rss->channel->item[$i]->title;
  8. $tanim = $rss->channel->item[$i]->description;
  9. $link = $rss->channel->item[$i]->link;
  10. echo “<b>” . $baslik. “</b><br>”;
  11. echo $tanim . ” <br>”;
  12. echo “<a href =\ “” . $link  .”\”> Detay</a><br>”;
  13. }
  14. ?>

Bunun için öncelikle 5. satırdaki toplam haber sayısı alındı ve daha sonra for döngüsü kullanılarak <item> kök elemanlarına ve alt elemanlarına eriştik. Bunu foreach kullanarak yapmaya çalışırsak ;

  1. foreach ($rss->channel->item as $haber)

şeklinde yazdıktan sonra döngünün içindeki tüm başlık, tanım ve link değişkenlerinde $haber kullanmamız gerekirdi. Yani;

  1. $baslik = $haber->title;

gibi.

Bu örnekleri hep kendi bilgisayarımızda oluşturduk. Şimdi de dışarıda hizmet veren bir RSS servisini kullanalım.

  1. <?php
  2. $URL = “http://www.meb.gov.tr/haberler/xml/mebrss.xml”;
  3. $rss = simplexml_load_file($URL);
  4. echo $rss->channel->description . “<br>”;
  5. foreach ($rss->channel->item as $haber)
  6. {
  7. $baslik = $haber->title;
  8. $link = $haber->link;
  9. echo “<a href = \”". $link.”\”>”.$baslik.”</a><br>”;
  10. }
  11. ?>

Yukarıdaki kodu çalıştırdığımızda aşağıdaki görüntüyü elde ederiz.

Tabi benim dil default olarak ingilizce olduğu için türkçe karakterler bozuk görünüyor. Dil türkçe olduğunda düzgün bir şekilde görünür yani merak etmeyin :)

  • RSS Verilerinin Oluşturulması

Tıpkı XML deki gibi önce verileri içeren nesne tipinde bir değişken yaratılır ve daha sonra bu değişkene addChild() metodu kullanarak kök ve alt elemanlar eklenir.

  1. <?php
  2. $xmlveri = <<<XML
  3. <?xml version=”1.0″ encoding=”utf-8″ ?>
  4. <rss version=”2.0″
  5. <channel>
  6. <title> Film Linkleri <title>l
  7. <link>http://sonergonul.com/filmlink.xml</link>
  8. <category>Sinema</category>
  9. <language>tr</language>
  10. </rss>
  11. XML;
  12. $rss = simplexml_load_file($xmlveri);
  13. $item = $rss->channel->addChild(‘item’);
  14. $item->addChild(‘title’, ‘Yüzüklerin Efendisi’);
  15. $item->addChild(‘link’, ‘www.lordoftherings.net’);
  16. $item = $rss->channel->addChild(‘item’);
  17. $item->addChild(‘title’, ‘Cesur Yürek’);
  18. $item->addChild(‘link’, ‘www.braveheart.co.uk’);
  19. $item = $rss->channel->addChild(‘item’);
  20. $item->addChild(‘title’, ‘Son Samuray’);
  21. $item->addChild(‘link’, ‘lastsamurai.warnerbros.com’);
  22. echo $rss->asXML();
  23. ?>

25. satırdaki komutla sonuçlar ekrana yansıtılacaktır. Eğer biz bu komutları ekrana yazmak değil de dosyada saklamak istersek echo komutunu kaldırıp asXML() metoduna dosyanın kaydedileceği yeri parametre olarak girmemiz gerekirdi.

Görüşmek üzere..

Related posts

Categories: PHP Tags: ,

CETURK Çevik Süreç ve TDD Günü

Cumartesi, 14 Şub 2009 Soner Gönül View Comments

Bugüne kadar çok farklı konu ve teknoloji ile ilgili yaptığı ücretsiz etkinliklerle bilişim sektörünün gelişmesine katkıda bulunan CETURK etkinliklerine devam ediyor.

Şubat ayında 6. yaşını kutlayan CETURK, 7 Şubat’ta Microsoft Türkiye İstanbul Ofisi’nde gerçekleştirdiği CETURK Microsoft Teknolojileri Etkinliği ardından 28 Şubat’ta IBM Türk’te “CETURK Çevik Süreç ve TDD Günü ” etkinliği düzenliyor. Etkinlikte çok değerli konuşmacılar hem teknik sunumlar hem de örnek projeler ile bilgi ve tecrübelerini katılımcılarla paylaşacaklar. Ayrıca gün sonunda tüm konuşmacıların katılacağı “Çevik Süreçler ve Türkiye’de Kullanımı” konulu bir panel gerçekletirilecektir.

* ACM-Software Genel Müdürü Cihan Deniz
* Codart Genel Müdürü Ersan Bilik
* IBM Türk Rational Ürün Ailesi Yöneticisi Erkan Özkan
* Kurumsal Java’dan Özcan Acar
* Prime Teknoloji ‘den Cenk Çivici

Etkinliğe katılım her zamanki gibi ücretsiz olacaktır. Ayrıca her zaman olduğu gibi etkinliğe katılanlardan 5 kişiye kitap hediye edilecektir.
Kayıt için : http://www.ceturk.com/etkinlikkayit.asp?id=64

Related posts

Categories: Aktivite Tags:

Tool

Cumartesi, 14 Şub 2009 Soner Gönül View Comments

tool

Şu aralar resmen çılgınlar gibi Tool dinlemeye başladım. Gerçekten çok kaliteli müzikleri var. Özellikle solistlerinin sesi bir harika. Tool nedir sorusuna wikipedia kaynaklı yazayım;

Tool, Amerika Birleşik Devletleri çıkışlı Progresif metal grubu. 1990 yılında Los Angeles kentinde kurulmuştur.

Grup, ilk albümleri olan Opiate’ı 1992′de çıkardı. Fakat onları üne kavuşturan 1993 yılında çıkardıkları Undertow albümleri oldu. Toplam 6 albüme sahip grubun son albümü 10.000 Days 2006′da çıktı. Görselliğe verdikleri önemle tanınan grup, her biri adeta bir sanat eseri olan kliplerindeki görselliği sahne gösterilerine taşımasıyla da tanınıyor.

Grubun Üyeleri;

İşte size Tool’u sevmenizi sağlayacak bir kaç parçası ;)

Tool – Schim

Tool – Sober

Tool – The Pot

Tool – Vicarious

Tool – Stinkfist

Canlı Performansları;

Tool – Vicarious

Tool – Parabol

Tool – Stinkfist

Tool – The Pot


Related posts

Categories: Music Tags:

Yeni Sloganım

Cumartesi, 14 Şub 2009 Soner Gönül View Comments

Yeni blog sloganımın zamanı geldiğini düşünerek yeni slogan arayışlarına girmiştim ki eskilerden güzel bir söz buldum. Biraz iddaalı bir söz ama gerçekte gelmek istediğim yeri tam olarak vurguluyor..

~~~~if you are second, then you are the first of the losers..~~~~

Hayırlısı bakalım..

Related posts

Categories: Ben Tags: ,

PHP’de Date() Fonksiyonu

Perşembe, 12 Şub 2009 Soner Gönül View Comments

PHP’de zaman fonksiyonu olan date() fonksiyonu dosyalarınızda zaman gösterimini ve tarihte herhangi bir zamanı göstermenizi sağlar.

date() fonksiyonunun 2 parametresi vardır. İlk parametre gösterilecek olan tarihin formatını, ikinci parametre ise günün tarihinden farklı tarihte tarihler gösteriliceği zaman gideceğimiz tarihin değişkenini ifade eder.

  • d – Günü (01-31)
  • m – Ayı (01-12)
  • Y – 4 Haneli yılı ifade eder.

Örneğin;

  1. <?php
  2. echo date(“Y/m/d”);
  3. echo “<br />”;
  4. echo date(“Y..m..d”);
  5. echo “<br />”;
  6. echo date(“Y–m–d”);
  7. ?>

yukarıdaki kodun çıktısı ;

  1. 2009/02/12
  2. 2009..02..12
  3. 2009–02–12

şeklinde olur.

Başta da söylediğim gibi date fonksiyonunu kullanarak bugünün tarihinin yardımıyla istediğimiz tarihi elde edebiliriz. Burada yardımımıza mktime() fonksiyonu yetişiyor. Bu fonksiyon 6 adet parametre alıyor. Syntax’ı şöyle;

mktime(saat,dakika,saniye,ay,gün,yıl);

Örneğin şu andaki tarihten 1 yıl 1 ay 1 gün sonraya gidelim;

  1. <?php
  2. $gidilecektarih = mktime(0,0,0,date(“m”)+1,date(“d”)+1,date(“Y”)+1);
  3. echo “Gidilecek Tarih “.date(“Y/m/d”, $gidilecektarih);
  4. ?>

Yukarıdaki kodun çıktısı aşağıdaki gibi olur.

  • Gidilecek Tarih 2010/03/13

Kolay Gelsin..

Related posts

Categories: PHP Tags: , ,

Sümeyranın Şiir Yazmadıkları için

Pazar, 08 Şub 2009 Soner Gönül View Comments

Gözde Mutuş;

Bir şiir yazanım yok diye ağlamasın
Küçücüğüm kıpırcığım diye kalbini dağlamasın
Aman kollarını birleştirip bağlamasın
C yi geçmiş, nasıl hoplayıp zıplamasın
Gel ben sana şiir yaziim, başkaları yazmasın…

Burak Amasyalı der ki;

Yaşanılanları Kontrol-S ile kaydedip,
Kontrol-Z ile geri yaşıyorum
Ben sevdamı download edip masaüstüne alıyorum.
En çokta ekranı kapladığın o anı özlüyorum
Simge durumuna küçült, saatlerce beklet beni
Tüm sistemlerimi çökert, Ziple sıkıştır ve parçala
Alt F4 ile kapat, Shift ile değiştir beni
Kedinin mousela oynadığı gibi oyna,
Yeni bir pencere açalım ve unutalım her şeyi
Geri dönüşüm kutusuna gönderelim maziyi
Kısa yol oluştur fazla bekletme bu seveni
En çok Flash Animasyonlu halini özlüyorum
PC görünüşlü, Mac duruşlu sevdiğim
Kalpten kalbe bağlantım bağlantısı yapılır
Kapanır kapılar, ağa oturum açılır
Sevdamız monitöre saniyelerle yazılır
Disconnect olursam beni yine arar mısın?
Masaüstünde bulamazsan belgelerime bakar mısın?
Yokluğunda erişim paketi teselli olmasa da
Değişiklikleri kaydedip, yeniden bağlanır mısın?

Related posts

Categories: Eğlence Tags:

Kod Kısmı Neden Portakal Rengi

Pazar, 08 Şub 2009 Soner Gönül View Comments

Bugün çok ilginç bir mail aldım. Kimden aldığım önemli değil tabi ki önemli olan hoşuma giden mailin konusuydu.

Yazan kişi mailde öncelikle yazılarımı takip ettiğini fakat yazdığım yazılarda kod kısımlarının neden portakal rengi (RGB=FF6600) olduğunu sordu. :)

Bende burdan cevap vermek istiyorum: Gördüğünüz gibi kullandığım wordpress teması koyu renk ağırlıklı. Ve yazılarımda kod kısmının göze çarpması için normal yazıdan farklı olması gerektiğini bildiğimden kod kısımlarını da koyu yaparsam bazı renkler tema yüzünden görülmüyor. Bu yüzden bende açık renk tercih ediyorum. Portakal rengine gelince bence göze güzel görünen bir renk. :) Portakalı da severim bu arada.

Görüşürüz ;)

Related posts

Categories: Eğlence Tags: ,

PHP ile XML – 2

Pazar, 08 Şub 2009 Soner Gönül View Comments

Merhabalar..XML ile ilgili yazdığım ilk yazının devamı olarak 2. yazımı yazıyorum. Bu yazıda sizlere geçen konuda söylediğim gibi SimpleXML kullanarak XML dosyalarına yazma ve veritabanındaki sorguların XML’e dönüştürülmesi konularına değineceğim.

  • SimpleXML Kullanarak XML Dosyalarına Yazma

SimpleXML kullanılarak dosyalara yazmak için öncelikle nesne tipinde değişkene dönüştürme işlemi yapmamız lazım. Daha sonra bu nesneye addChild() metodu kullanılarak kök ve alt elemanlar eklenebilir. Bu metod 2 parametre alıyor. İlkine XML elemanının adı, ikincisine taşınacak veri girilir. Verilerimizi girdikten sonra ise asXML() nesne metodu kullanılarak sonuçları dosyaya kaydedebilir ve ekranda gösterebiliriz. Örneğin;

  1. <?php
  2. $xml = simplexml_load_file (‘test1.xml’);
  3. $kisi = $xml->addChild(‘kisi’);
  4. $kisi->addChild(‘adi’, ‘Ülkü’);
  5. $kisi->addChild(‘soyadi’, ‘Gönül’);
  6. $kisi->addChild(‘dyeri’, ‘Kırklareli’);
  7. $dtarihi = $kisi->addChild(‘dtarihi’);
  8. $dtarihi->addChild(‘gun’, ’05′);
  9. $dtarihi->addChild(‘ay’, ’05′);
  10. $dtarihi->addChild(‘yil’, ’1984′);
  11. echo $xml->asXML();
  12. ?>

Evet burda bu şekilde dosyaya XML verileri yazdık. Peki biz özellik girmek için ne yapmalıyız derseniz bunun içinde addAttribute() metodumuz var. Bu metod 2 parametre alıyor. İlki özelliğin adı, ikincisi de özelliğe atanan değer. Örneğin;

  1. <?php
  2. $xmlveri = <<<XML
  3. <?xml version=”1.0″ encoding=”utf-8″ ?>
  4. <arabalar>
  5. </arabalar>
  6. XML;
  7. $xml = simplexml_load_string($xmlveri);
  8. $araba = $xml->addChild(‘araba’);
  9. $araba->addAttribute (‘marka’, ‘Mini’);
  10. $xml->addChild(‘model’, ‘Cooper’);
  11. $xml->addChild(‘yil’, ’2006′);
  12. echo $xml->asXML();
  13. ?>
  • Veritabanındaki Sorguların XML’e Dönüştürülmesi

Bu oldukça basit bir olaydır. Yapılması gereken tek şey veritabanına sorgu gönderip sorgu sonucu dönen verilerin XML olarak dosyaya yazılması veya ekranda görüntülenmesidir.

  1. <?php
  2. $baglanti = mysql_connect(‘localhost’, ‘user’, ‘deneme’);
  3. $veritabanı = mysql_select_db(‘ajax’, $baglanti);
  4. $sql = “select * from iudersler”;
  5. $sonuc = mysql_query ($sql);
  6. $kayitsayisi = mysql_num_rows($sonuc);
  7. $xmlveri = <<<XML
  8. <?xml version=”1.0″ encoding=”utf-8″ ?>
  9. <dersler>
  10. </dersler>
  11. XML;
  12. $xml = new SimpleXMLElement($xmlveri);
  13. for ( $i=0; $i < $kayitsayisi; $i++)
  14. {
  15. $row = mysql_fetch_row($sonuc);
  16. $ders = $xml->addChild(‘ders’);
  17. $ders->addChild(‘derskodu’, row[0]);
  18. $ders->addChild(‘dersadi’, row[1]);
  19. }
  20. mysql_free_result($sonuc);
  21. mysql_close($baglanti);
  22. echo $xml->asXML();
  23. ?>

Burada iudersler tablosundaki veriler XML’e dönüştürülmüştür. 9. satırda kök elemanı olan XML verileri tanımlanmış daha sonra 19. satırda ders adında kök elemanlar bağlanmıştır.

Benim XML ile anlatacaklarım bu kadar. Umarım bu konuda sizlere faydalı bilgiler verebilmişimdir. Ayrıca PHP ve XML ile ilgili bir kaç soru ve cevaplarını hazırladım. Dosyayı aşağıdan indirebilirsiniz.

Örnek Soruları İndirmek için Tıklayın.

Görüşmek üzere..


Related posts

Categories: PHP Tags: , ,

PHP ile XML – 1

Cumartesi, 07 Şub 2009 Soner Gönül View Comments

Merhabalar..Bu yazımla beraber sizlere XML teknolojisini ve XMl’in ne kadar esnek bir dil olduğunu anlatmaya çalışacağım. XML çok uzun bir konu olduğu için bu konuyu 2 başlık altında yazacağım.

XML, platformdan bağımsız bir teknolojidir. Elinizde bulunan bir veritabanını XML servisleri kullanarak kolaylıkla dışarı açabilirsiniz. Bu servisle farklı işletim sistemlerine cevap verilebilmesi de xml’i çok popüler yapan özelliklerin başında geliyor. Öncelikle sizlere XML’in genel yapısını, daha sonra da PHP5 ile gelen SimpleXML eklentisini kullanarak XML dosyaları üzerinde okuma ve yazmayı anlatmaya çalışacağım. En sonunda da veritabanına gönderilen sorgu sonuçlarının XML verilerine nasıl çevrildiğini anlatacağım.

XML nedir?

XML, tıpkı HTML gibi başlangıç ve bitiş  etiketlerinden oluşur. HTML’den farkı ise bu etiketlerin kullanıcı tanımlı olmasıdır. Diğer farkı da XML’in veri tanımlama amacıyla kullanılmasıdır.

Bir XML dosyasında başlangıçta XML versiyonu ve kullanılan karakter seti <?xml ?>ifadeleri arasında tanımlanır. Daha sonra XML dökümanını gövde kısmı başlar. Gövde ağaç yapısındadır ve elemanlardan oluşur. Gövde ile genel kurallar vardır;

  • Her elemanın başlangıç ve bitiş etiketleri vardır.
  • Büyük harf küçük harf duyarlılığı vardır.
  • Belgenin en üst seviyesinde bulunan elemana kök eleman denir.
  • Bir elemanın başlangıç etiketi içinde özellikleri girilebilir.

test1.xml

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <sehirler>
  3. <sehir>
  4. <adi>Istanbul</adi>
  5. <fetih>1453</fetih>
  6. </sehir>
  7. </sehirler

Yukarıdaki kodun ilk satırında XML versiyonu ve karakter seti tanımlanmıştır. 2. satırda XML dosyasının gövdesi <sehirler> kök elemanı ile başlamış ve 7. satırda </sehirler> bitiş etiketi ile sonlandırılmıştır. Oluşturulan kök elemana ise adi ve fetih olmak üzere 2 tane alt eleman bağlanmıştır.

XML dökümanlarında her bir elemanın başlangıç etiketi içerisinde özellikleri de tanımlanabilir. Örneğin;

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <meyveler>
  3. <meyve rengi=”Kırmızı”>
  4. <adi> Elma </adi>
  5. </meyve>
  6. </meyveler>

Bu özellik gerektiği zamanda <rengi> Kırmızı </rengi>olarakta kullanılabilir. Bu şekilde kullanırsak rengi veri olarak çekebiliriz.

XML’de tarih şeklindeki verilerin işlenmesinde çeşitli zorluklar çıkar. Bu yüzden tarih şeklindeki veriler ay, gün, yıl olarak alt elemanlara ayrılıp kullanılabilir. Örneğin;

  1. <dogumtarihi> 05.05.1988 </dogumtarihi>

yerine

  1. <dtarihi>
  2. <gun>05</gun>
  3. <ay>05</ay>
  4. <yil>1988</yil>
  5. </dtarihi>

kullanmak daha kullanışlıdır.

PHP SimpleXML Eklentisi

PHP5 ile birlikte XML dosyalarına okuma ve yazma işlemlerini gerçekleştirebilmek için SimpleXML eklentisi getirildi. Bu eklentiyi kurmanıza gerek yok çünkü PHP derleyicisinin içinde geliyor.

SimpleXML Kullanarak XML Dosyalarını Okuma

2 fonksiyonu vardır okuma için. Bunlar simple_xml_load_file() ve simple_xml_loadstring() fonksiyonlarıdır. Bunlardan ilki kullanılarak XML dosyaları okunup nesne tipinde bir değişkene, ikincisi ile de string tipindeki bir değişkenden XML verileri okunup aynı şekilde nesne tipindeki bir değişkene çevirilebilir.

  1. <?php
  2. if ( file_exists(‘test1.xml’) )
  3. {
  4. $xml = simple_xml_load_file (‘test1.xml’);
  5. }
  6. else
  7. {
  8. echo “Dosya açılamadı “;
  9. exit();
  10. }
  11. echo “XML dosyayı başarılı bir şekilde açıldı “;
  12. ?>

Yukarıda file_exists() fonksiyonuyla test1.xml var mı yok mu diye kontrol ettik. 4. satırdaki kod kullanılarak veriler nesne tipindeki bir değişkene dönüştürülmüştür.

  1. <?php
  2. $xmlveri = <<<XML
  3. <?xml version=”1.0″ encoding=”utf-8″ ?>
  4. <meyveler>
  5. <meyve rengi=”Kırmızı”>
  6. <adi>Elma</adi>
  7. <meyve>
  8. </meyveler>
  9. XML;
  10. $xml = simplexml_load_string($xmlveri);
  11. ?>

Yukarıdai kodu incelersek 11. satırda $xmlveri string değişkeni içindeki XML verileri fonksiyon yardımıyla nesne tipindeki bir değişkene çevrilip sonuç $xml değişkenine atanmıştır.

  1. <?php
  2. $xmlveir = <<<XML
  3. <?xml version=”1.0″ encoding=”utf-8″ ?>
  4. <kisiler>
  5. <kisi>
  6. <adi> Soner </adi>
  7. <soyadi> Gönül </soyadi>
  8. <dyeri> Kırklareli </dyeri>
  9. <dtarihi>
  10. <gun>05</gun>
  11. <ay>05</ay>
  12. <yil>1988</yil>
  13. </dtarihi>
  14. </kisi>
  15. </kisiler>
  16. XML;
  17. $xml = simplexml_load_string ($xmlveri);
  18. echo $xml->kisi[0]->adi . “<br>”;
  19. echo $xml->kisi[0]->dtarihi[0]->yil;
  20. ?>

Yukarıdaki kodta 18. satırda XML verisi nesne tipindeki değişkene dönüşürülmüştür. Sonucunda <kisiler> başlangıç etiketi ile </kisiler> bitiş etiketi arasında kalan tüm XML verileri tek bir nesne halini almıştır. 20. satırda ise 1. kök elemana erişmek için $xml->kisi[0], adi alt elemanına erişmek için ise $xml->kisi[0]->adi ifadeleri kullanılmıştır.

XML dökümanların içerisinde bulunan elemanların özellikleri üzerinde de işlem yapılabilir. Bu özelliğe verilen isim, string şeklinde dizi indisi kabul edilir. Örneğin;

  1. <?php
  2. $xmlveri = <<<XML
  3. <?xml version=”1.0″ encoding=”utf-8″ ?>
  4. <arabalar>
  5. <araba marka=”Mini”>
  6. <model>Cooper</model>
  7. <yil> 2006 </yil>
  8. </araba>
  9. </arabalar>
  10. XML;
  11. $xml = simplexml_load_string($xmlveri);
  12. echo $xml->araba[0]['marka'] . “<br>”;
  13. ?>

Yukarıda <araba> kök elemanının marka özelliğine 13. satırda string indisli bir dizi değişkeni gibi erişilmiş daha sonra bu sonuç ekrana yazdırılmıştır.

Şimdilik bu kadar. 2. yazımda SimpleXML ile XML dosyalarına yazma ve veritabanındaki sorguların XML’e dönüştürülmesi konularına değineceğim.

Görüşmek üzere..

Related posts

Categories: PHP Tags: , ,