Php ile Hata Ayıklama (@ işareti)

 bcakir
 6 Ağustos 2011
 Php

Yazılım yapmanın en zor kısmı yazılan kodun hatalarını, açıklarını bulmak ve bunları düzeltmektir. Hatta bütün bilgisayar mühendisleri bu işi yapmak istemez ve çok sıkıcı bulurlar. Bende sizlere daha önce anlattığım uzak siteden veri alma konusunda bir hatayla karşılaştım ve düzeltmek bir günümü aldı diyebilirim. Hata şu; eğer yazılan site adresi geçersizse ekrana site olmadığı konusunda Php uyarısı veriyordu. Ne kadar try-catch, switch-case ve if-else gibi hata ayıklama kodları da kullansam bir türlü hatanın ekrana basılmasını engelleyemiyordum. Bir gün boyunca google araması yaptım doğru düzgün bir çözüme ulaşamadım fakat birisinin yazdığı kodun başında @ sembolü gördüm. Daha önce de görmüştüm ama hiç kullanmamıştım. Kullandım ve aradığım çözümün bu olduğunu buldum. @ kodun başına konulduğunda; eğer kod hata döndürüyorsa bunun ekrana basılmasını engelliyor. Gelin isterseniz daha önceden yaptığımız tarzda bir uygulamayı biraz daha geliştirerek yeni bir uygulama yapalım.

<?php
$url="http://bcakir.com/?p=338";
$adres = @file_get_contents($url);
if($adres!=false){
$title=explode('<title>',$adres);
$title=explode('</title>',$title[1]);
$description=explode('<meta name="description" content="',$adres);
$description=explode('"',$description[1]);
$gonderilen = $title[0].' - '.$description[0];
echo $gonderilen;
}else{
$gonderilen = 'Böyle bir site yok';
echo $gonderilen;
}
?>

Yukarıda ilk önce $url değişkenine adresimizi aldık ve file_get_contents ile uzak siteye bağlanıp, sitedeki verileri çektik. @file_get_contents kullandım çünkü eğer öyle bir site yoksa ekrana Php kendiliğinden hata yazmasın. Daha sonra alınan veri false değilse sitenin veya yazının başlığını ve açıklamasını explode ile parçalayarak aldık ve ekrana yazdırdık. Eğer öyle bir adres yoksa da ekrana böyle bir site yok yazdırdık. Uygulamamızın açıklamasını da yaparak yazımızın sonuna doğru gelmiş olduk. Son olarak bir konuya değinip yazımı bitireceğim. Yazılım yaparken bir çok hata ile karşılaşabilirsiniz fakat asla ve asla hatanın çözümünü ararken pes etmeyin, eninde sonunda çözümü bulacaksınız. Sadece aramaya devam edin ve bulduğunuz yeni çözümleri deneyin. Bu arada İngilizce biliyorsanız bu sizin için büyük bir avantaj çünkü bazı sorunların çözümü Türkçe sitelerde maalesef bulunmuyor. Ayrıca Php ile yazdığınız betikte bütün hataları gizlemek isterseniz aşağıdaki kodu da kullanabilirsiniz.

<?php error_reporting(0); ?>
 1.891 Okunma

Yazı hakkında görüşlerinizi belirtmek istermisiniz?

Daha fazla Php
Kapat